发表于: 2019-06-22 23:19:02

1 833


今天完成的事:

完成了任务8的一部分,复习了盒子模型和选择器

明天计划的事:

完成任务8,学习相关知识

遇到的问题:

暂时没有遇到大问题

收获:

在 CSS 盒子模型 (Box Model) 规定了元素处理元素的几种方式:

  • width和height:内容的宽度、高度(不是盒子的宽度、高度)。
  • padding:内边距。
  • border:边框。
  • margin:外边距。

CSS盒模型和IE盒模型的区别:

  • 在 标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。

  • IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。


最基本的选择器是元素选择器(比如div),ID选择器(比如#header)还有类选择器(比如.tweet)。

一些的不常见的选择器包括伪类选择器(:hover),很多复杂的CSS3和正则选择器,比如:first-child,class ^= “grid-”。CSS选择器具有高效的继承性,引用Steve Souders的话, CSS选择器效率从高到低的排序如下:

1.id选择器(#myid)


2.类选择器(.myclassname)


3.标签选择器(div,h1,p)


4.相邻选择器(h1+p)


5.子选择器(ul > li)


6.后代选择器(li a)


7.通配符选择器(*)


8.属性选择器(a[rel="external"])


9.伪类选择器(a:hover, li:nth-child)

选择器越特殊,他的优先级越高。选择器指向的越准确,它的优先级就越高。通常用1表示标签名选择器的优先级,用10 表示类选择器,用100表示ID选择器的优先级。
用选择器的原则是:
1.准确的选到要控制的标签。
2.使用最合理优先级的选择器。
3.HTML和CSS代码尽量简洁美观。
①最常用的选择器是类选择器。
②li、td、dd等经常大量连续出现,并且样式相同或者相类似的标签,我们采用类选择器跟标签名选择器结合的后代选择器 .xx li/td/dd {} 的方式选择。
③极少的情况下会用ID选择器,当然很多前端开发人员喜欢header,footer,banner,conntent设置成ID选择器的,因为相同的样式在一个页面里不可能有第二次。
怎么提升CSS选择器性能
1.避免使用通用选择器
2.避免使用标签或class选择器限制id选择器
3.避免使用标签限制class选择器
4.避免使用多层标签选择器,使用class选择器替换,减少CSS查找
5.避免使用子选择器
6.使用继承
写CSS容易犯的低效错误。
 不要在ID选择器前使用标签名
一般写法:DIV#divBox
更好写法:#divBox
解释: 因为ID选择器是唯一的,加上div反而增加不必要的匹配。
不要再class选择器前使用标签名
一般写法:span.red
更好写法:.red
尽量少使用层级关系
一般写法:#divBox p .red{color:red;}
更好写法:.red{..}
使用class代替层级关系
一般写法:#divBox ul li a{display:block;}
更好写法:.block{display:block;}



返回列表 返回列表
评论

    分享到