美文网首页
css基础

css基础

作者: 饥人谷_流水 | 来源:发表于2017-04-09 11:05 被阅读0次

1. class 和 id 的使用场景?

class用于选择同一类型的元素,id用于选择独一无二的一个元素

2 CSS选择器常见的有几种?

  • 通用元素选择器,匹配页面任何元素(这也就决定了我们很少使用)
  • id id选择器,匹配特定id的元素

  • .class 类选择器,匹配class包含(不是等于)特定类的元素
  • element 标签选择器

3. 选择器的优先级是怎样的?对于复杂场景如何计算优先级?

顺序为

  1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式
  1. 作为style属性写在元素标签上的内联样式
  2. id选择器
  3. 类选择器
  4. 伪类选择器
  5. 属性选择器
  6. 标签选择器
  7. 通配符选择器
  8. 浏览器自定义

对于复杂场景如何计算优先级?

1.根据组合选择器按照以下规则统计各类选择器的个数:

行内样式 --> 统计值为a
ID选择器 --> 统计值为b
类、属性选择器、伪类选择器 --> 统计为c
标签选择器、伪类选择器 --> 统计为d

2.

再比较a值的大小,a值大的则优先级高;如果a值相等,则再比较b值的大小,b值大的优先级高;如果b值相等,则比较c值的大小,c值大的优先级高;如果c值相等,则比较d值的大小,d值大的优先级高;

4. a:link, a:hover, a:active, a:visited 的顺序是怎样的? 为什么?

顺序为

  1. a:link
  1. a:visited
  2. a:hover
  3. a:active

因为这几个选择器的优先级一样,但是他们的样式会互相覆盖。所以要按一定的顺序排列。

5. 以下选择器分别是什么意思?

  • header{ } id=header的元素

  • .header{ } class=header的元素
  • .header .logo{ } class=header 后代中 class=logo的元素
  • .header.mobile{ } 同时包含class=header和class=mobile的元素
  • .header p, .header h3{ } class=header后代中的p标签和h3标签
  • header .nav>li{ } id=header的后代中class=nav元素的直接子元素为li的标签

  • header a:hover{ } id=header后代中的a标签在鼠标停留在上面的状态

  • header .logo~p{ } id=header后代中 class=logo元素之后所有同级元素的p标签

  • header input[type=“text”]{ } id=header的后代中,input标签中,属性type的值为"text"的所有元素

6. 列出你知道的伪类选择器

  • E:first-child 匹配作为长子(第一个子女)的元素E
  • E:link 匹配所有未被点击的链接
  • E:visited 匹配所有已被点击的链接
  • E:active 匹配鼠标已经其上按下、还没有释放的E元素
  • E:hover 匹配鼠标悬停其上的E元素
  • E:focus 匹配获得当前焦点的E元素
  • E:lang(c) 匹配lang属性等于c的E元素
  • E:enabled 匹配表单中可用的元素
  • E:disabled 匹配表单中禁用的元素
  • E:checked 匹配表单中被选中的radio或checkbox元素
  • E::selection 匹配用户当前选中的元素

8. div:first-child和div:first-of-type的作用和区别

  • div:first-child 匹配其父元素的第一个子元素
  • div:first-of-type 匹配其父元素下拥有相同标签的第一个元素

9. 运行如下代码,解析下输出样式的原因。

.item1:first-child :class=item1的父元素下第一个元素aa为红色。

.item1:first-of-type :class=item1的父元素下相同标签的第一个元素bb和cccc为蓝色。

蓝色将红色覆盖了

相关文章

网友评论

      本文标题: css基础

      本文链接:https://www.haomeiwen.com/subject/gkkdattx.html