HTML基本知识点(三)

104 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情

CSS单位中px、em和rem的区别

  1. px像素(Pixel)。绝对单位。像素px是相对于显示器屏幕分辨率而言的,是一个虚拟长度单位,是计算机系统的数字化图像长度单位
  2. em是相对长度单位,相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。它会继承父级元素的字体大小,因此并不是一个固定的值
  3. rem是CSS3新增的一个相对单位(rootem,根em),使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素 区别:

IE无法调整那些使用px作为单位的字体大小,而em和rem可以缩放,rem相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem

CSS中link和@import的区别

适用范围不同 @import可以在网页页面中使用,也可以在CSS文件中使用,用来将多个CSS文件引入到一个CSS文件中;而link只能将CSS文件引入到网页页面中 功能范围不同 link属于XHTML标签,而@import是CSS提供的一种方式,link标签除了可以加载CSS外,还可以定义RSS,定义rel连接属性等,@import就只能加载CSS 加载顺序不同 当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显 兼容性 由于@import是css2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题 控制样式时的差别 使用link方式可以让用户切换CSS样式.现代浏览器如Firefox,Opera,Safari都支持rel=”alternatestylesheet”属性(即可在浏览器上选择不同的风格),当然你还可以使用Javascript使得IE也支持用户更换样式权重区别link引入的样式权重大于@import引入的样式

Display:none与visibility:hidden的区别

最常用的为display:none和visibility:hidden

dispaly:none设置该属性后,该元素下的元素都会隐藏,占据的空间消失

visibility:hidden设置该元素后,元素虽然不可见了,但是依然占据空间的位置

区别

  • visibility具有继承性,其子元素也会继承此属性,若设置visibility:visible,则子元素会显示
  • visibility不会影响计数器的计算,虽然隐藏掉了,但是计数器依然继续运行着。
  • 在CSS3的transition中支持visibility属性,但是不支持display,因为transition可以延迟执行,因此配合visibility使用纯CSS实现hover延时显示效果可以提高用户体验display:none会引起回流(重排)和重绘visibility:hidden会引起重绘