CSS

CSS性能优化

1.雪碧图
2.将图像保存为base64:实现网页图片在网速不好的时候先于内容加载,减少http的请求次数(只需请求CSS,减少了一次请求图片)来减少网站服务器的负担。

link和@import的区别

1.Link属于html标签,而@import是CSS中提供的,link可以加载其他资源,@import只能加载CSS
2.在页面加载的时候,link会同时被加载,而@import引用的CSS会在页面加载完成后才会加载引用的CSS(异步加载)
3.@import只有在ie5以上才可以被识别,而link是html标签,不存在浏览器兼容性问题
4.Link引入样式的权重大于@import的引用(@import是将引用的样式导入到当前的页面中)

1.css样式表

行内样式表(行内样式直接定义在html文件中,使用style属性实现)
内嵌样式表( 内嵌式在页面中使用标记将CSS样式包含在页面中)
外部样式表(将CSS样式定义在外部的一个单独文件中,在HTML中使用标记使用)

css样式表包括三部分:选择符、属性和属性值,语法为 选择符{属性:属性值;}
属性值:属性与属性值之间使用:分隔,当有多个属性时,使用;分隔。

选择器

1、ID   #id
2、class   .class
3、标签(元素选择器)  p a
4、通用  *
5、属性  [type=“text”]
6、伪类  :hover(状态)
7、伪元素  ::first-line(真实存在的元素)
8、子选择器、相邻选择器属性:包括文本属性、字体属性、背景属性、布局属性、边界属性、项目列表属性等。

优先级

!important > 行间样式 > id选择器 > class选择器||属性选择器 > 标签选择器 > 通配符选择器
!important 优先级是最高的。
第一等:代表内联样式,如: style=””,权值为1000。
第二等:代表ID选择器,如:#content,权值为0100。
第三等:代表类,伪类和属性选择器,如.content,权值为0010。
第四等:代表标签选择器和伪元素选择器,如div p,权值为0001。
第五等:通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。
继承的样式没有权值。

什么时候用到雪碧图?

a、静态图片,不随用户信息的辩护而变化
b、小图片,图片容量比较小
c、加载量比较大

CSS隐藏元素的方法

1.opacity 设为 0、该属性的意思是检索或设置对象的不透明度当他的透明度为0的时候,视觉上它是消失了,但是他依然占据着那个位置,并对网页的布局起作用。它也将响应用户交互。
2. visibility 设为 hidden、隐藏对应的元素并且挤占该元素原来的空间。 该属性类似opacity属性,该属性值为hidden的时候,元素将会隐藏,也会占据着自己的位置,并对网页的布局起作用,与 opacity 唯一不同的是它不会响应任何用户交互。
3. 将 display 设为 none 隐藏对应的元素但不挤占该元素原来的空间。该属性才是真正意义上的隐藏元素,当元素的display属性为none时,该元素就会就会从视觉中消失,并且连盒模型也不生成.也不会在页面占据任何位置,不但如此,就连它的子元素也会一同从盒子模型中消失。给他和它的子元素添加的任何动画效果交互效果都会不起作用。
4. position 设为 absolute 然后将位置设到不可见区域。该属性的意义就是把元素脱离文档流移出视觉区域,添加该属性后既不会影响布局,又能让元素保持可以操作。应用该属性后,主要就是通过控制方向(top,left,right,bottom),达到一定的值,离开当前可是页面。

26、rgba()和opacity的透明效果有什么不同?

rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内容的透明度,
而rgba()只作用于元素的颜色或其背景色。子元素不会继承透明效果!

position :absolute和float属性的异同

两者的共同点:对内联元素设置float或absolute属性,可以让元素脱离文档流(块级元素也可以),并且可以设置其宽高。
两者的不同点:float仍会占位置,position会覆盖文档流中的其他元素。
在左右布局时用浮动,其他用绝对定位

行内元素和块级元素

1常见块级元素有:html、body、div、header、footer、nav、section、aside、article、p、hr、h1~h6、ul、ol、dl、form、table、tbody、thead、tfoot、tr等;块级元素:会自动换行,在横向充满其父元素的内容区域,默认独占一行的,可修改宽高;
2常见行内元素有:span、a、br、strong、em、。·行内元素:不会自动换行,行内元素左右可以有其他元素,行内元素的宽高大多是auto*auto。;行内元素设置宽高无效(但是行内置换元素可以设置宽高,下面有详细解释)、设置上下margin无效,设置上下padding类似无效(不影响文档流排列)
 
(1)display:inline;转换为行内元素
(2)display:block;转换为块状元素
3)display:inline-block;转换为行内块状元素
inline-block元素(拥有内在尺寸,可设置高宽,但不会自动换行)

你可能感兴趣的:(css)