开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第24天,点击查看活动详情
一、Display:none 与 visibility:hidden 的区别
适用范围不同:@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 样式
二、Position 的值有哪些,分别有哪些作用
static:默认值
不脱离文档流,top,right,bottom,left 等属性不生效。
绝对定位:absolute
绝对定位的关键是找对参照物,要成为绝对定位元素的参照物必须满足以下两个条件:
1.参照物和绝对定位元素必须是包含与被包含关系;
2.该参照物必须具有定位属性;
如果找不到满足以上两个条件的父包含块,那么相对于浏览器窗口进行定位。
注:设置了 position:absolute;属性后,元素会脱离正常文档流,不在占据空间;左右 margin 为auto 将会失效;我们通过 left、top、bottom、right 来决定元素位置。
相对定位:relative
参照物:元素偏移前位置
注:设置了相对定位,左右 margin 为 auto 仍然有效、并且不会脱离文档流。
固定定位:fixed
参照物:浏览器窗口;
注:固定定位会脱离文档流;
当绝对定位和固定定位参照物都是浏览器窗口时的区别:
当出现滚动条时,固定定位的元素不会跟随滚动条滚动,绝对定位会跟随滚动条滚动。