元素样式来源:

  1. 浏览器默认样式

  2. 用户自定义样式

  • 行内样式:
    style=“ ”
  • 文档样式
    <style></style>
  • 外部样式(使用 link 标签引入)
    style.css

3 优先级:行内样式>文档样式>外部样式
另外样式优先级还与书写顺序有关,后写的会覆盖前面写的(权重一样的情况下)

基本选择器:根据元素自身特点来选择

以下面实例代码来演示各个类型的基本选择器:

  1. <h2>item1</h2>
  2. <h2 title="hello">item2</h2>
  3. <h2 id="a">item3</h2>
  4. <h2 id="a">item4</h2>
  5. <h2 class="b">item5</h2>
  6. <h2 class="b">item6</h2>
  1. 标签选择器
  1. <style>
  2. h2 {
  3. color: red;
  4. }
  5. </style>
  1. 属性选择器
  1. <style>
  2. 属性写到中括号里面
  3. h2[title="hello"] {
  4. color: green;
  5. }
  6. 可以简化不写属性值也有效
  7. h2[title] {
  8. color: green;
  9. }
  10. id: 用于唯一元素
  11. id 的唯一性由开发者确保
  12. h2[id="a"] {
  13. color: blue;
  14. }
  15. class: 用于多个元素
  16. h2[class="b"] {
  17. color: violet;
  18. }
  19. id, class 是高频属性(用的特别多)
  20. id 简写使用 “#”
  21. h2#a {
  22. color: cyan;
  23. }
  24. class 简写使用 “.”
  25. h2.b {
  26. color: orange;
  27. }
  28. 推荐尽可能只用 class 权重比较低
  29. </style>
  1. 群组选择器
    中间使用逗号隔开,选择多个
  1. <style>
  2. h2#a,
  3. h2.b {
  4. background-color: yellow;
  5. }
  6. </style>
  1. 通配选择器:
  1. <style>
  2. html body {
  3. background-color: gray !important;
  4. }
  5. </style>

如果需要调试,加高权重,使用“!important”,优先级别最高

上下文选择器(也叫层级选择器):

以下面实例代码来演示上下文选择器:

  1. <ul class="list">
  2. <li class="item">item1</li>
  3. <li class="item second">item2</li>
  4. <li class="item">
  5. item3
  6. <ul class="inner">
  7. <li>itemsun-1</li>
  8. <li>itemsun-2</li>
  9. <li>itemsun-3</li>
  10. </ul>
  11. </li>
  12. <li class="item">item4</li>
  13. <li class="item">item5</li>
  14. <li class="item">item6</li>
  15. <li class="item">item7</li>
  16. <li class="item">item8</li>
  17. </ul>
  1. 子元素:
    只选择子元素,不选择孙元素,如不选择 item3 下面的 itemsun-1 到 3 使用 “>” 号
  1. <style>
  2. .list > li {
  3. border: 1px solid #000;
  4. }
  5. </style>
  1. 后代元素: 使用空格
  1. <style>
  2. .list li {
  3. border: 1px solid #000;
  4. }
  5. </style>
  1. 相邻兄弟: 使用 “+” 号
    .item 中间空格去掉 second 换成“.”链接起来,否则就是后代元素了
    如果用的背景色,内部的孙元素会继承背景色,使用其他属性则不会。
  1. <style>
  2. .item.second + * {
  3. background-color: lightcyan;
  4. }
  5. </style>
  1. 所有兄弟: 使用 “~” 号
    从某个起到后面所有的选中,例如第二个起到后面所有。
  1. <style>
  2. .item.second ~ * {
  3. background-color: yellow;
  4. }
  5. </style>

选择器的权重

最高级:!important
第一等:内链 style=””
第二等:id 选择器 #h3
第三等:class 选择器 .h3
第四等:空格选择器 div h3
通配符:子选择器、相邻选择器等

1 示例:<h3 id="a" class="b" ></h3>
选择当前的 h3 有 3 种选择器,我们将 id,class,tag 想象成三位整数,初始为 0,0,0

idclasstag
百位十位个位
000

由示例可看出大致权重

  1. <style>
  2. /* 权重:(1,1,1) */
  3. h3.b#a {
  4. background-color: red;
  5. }
  6. /* 权重:(0,1,1) */
  7. h3.b {
  8. background-color: green;
  9. }
  10. /* 权重:(0,0,1) */
  11. h3 {
  12. background-color: blue;
  13. }
  14. </style>

2 为什么不推荐使用id和tag,而是class

  • 为什么不推荐用 id?
    因为权重太高, 为了让你的代码具有弹性,尽可能用 class

  • 为什么不用权重最低的标签呢?
    语义化标签太少了,数量有限,class 可以无限数量,任意命名

更多相关文章

  1. Android(安卓)写一个属于自己的印象笔记
  2. 自定义android的tab样式
  3. Android自定义Button按钮显示样式
  4. Android(安卓)TextView 丰富多彩的字体样式代码
  5. Android(安卓)ClickableSpan 应用实例
  6. Android下修改SeekBar样式
  7. Android(安卓)ClickableSpan 应用实例
  8. android 布局权重问题(最近布局经常坑爹)
  9. android acitonbar(toolbar)自定义溢出菜单样式

随机推荐

  1. 【Android】Android上的Jetty
  2. Android的相对布局属性的解释
  3. Android学习之 UI效果
  4. 学习资源推荐
  5. Android之Actionbar顶部标签的使用
  6. Android工程导入jar文件步骤
  7. android contentResolver的使用
  8. Android editText(文本框) 的基本属性及用
  9. Android中的广播Broadcast详解
  10. Setting Text to Image On Android and A