前端资料
应用介绍
此项目是前端资料,包括:面试指南、前端面试题、前端学习。
display: none; 与 visibility: hidden; 的区别
相同: 它们都能让元素不可见
区别:
- display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间;visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见
- display: none;是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示;visibility:hidden;是继承属性,子孙节点消失由于继承了 hidden,通过设置 visibility: visible;可以让子孙节点显式
- 修改常规流中元素的 display 通常会造成文档重排。修改 visibility 属性只会造成本元素的重绘
- 读屏器不会读取 display: none;元素内容;会读取 visibility: hidden 元素内容
### css hack 原理及常用 hack
原理:利用不同浏览器对 CSS 的支持和解析结果不一样编写针对特定浏览器样式。常见的 hack 有 1)属性 hack。2)选择器 hack。3)IE 条件注释
IE 条件注释:适用于[IE5, IE9]常见格式如下
```html
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
```
选择器 hack:不同浏览器对选择器的支持不一样
```css
/***** Selector Hacks ******/
/* IE6 and below */
* html #uno { color: red }
/* IE7 */
*:first-child+html #dos { color: red }
/* IE7, FF, Saf, Opera */
html>body #tres { color: red }
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 and below, safari 2 */
html:first-child #cinco { color: red }
/* Safari 2-3 */
html[xmlns*=""] body:last-child #seis { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3+, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#diez { color: red }
}
/* iPhone / mobile webkit */
@media screen and (max-device-width: 480px) {
#veintiseis { color: red }
}
/* Safari 2 - 3.1 */
html[xmlns*=""]:root #trece { color: red }
/* Safari 2 - 3.1, Opera 9.25 */
*|html[xmlns*=""] #catorce { color: red }
/* Everything but IE6-8 */
:root *> #quince { color: red }
/* IE7 */
*+html #dieciocho { color: red }
/* Firefox only. 1+ */
#veinticuatro, x:-moz-any-link { color: red }
/* Firefox 3.0+ */
#veinticinco, x:-moz-any-link, x:default { color: red }
```
属性 hack:不同浏览器解析 bug 或方法
```css
/* IE6 */
#once { _color: blue }
/* IE6, IE7 */
#doce { *color: blue; /* or #color: blue */ }
/* Everything but IE6 */
#diecisiete { color/**/: blue }
/* IE6, IE7, IE8 */
#diecinueve { color: blue\9; }
/* IE7, IE8 */
#veinte { color/*\**/: blue\9; }
/* IE6, IE7 -- acts as an !important */
#veintesiete { color: blue !ie; } /* string after ! can be anything */
```
### link 与 @import 的区别
- link 是 HTML 方式, @import 是 CSS 方式
- link 最大限度支持并行下载,@import 过多嵌套导致串行下载,出现 FOUC
- link 可以通过 rel="alternate stylesheet" 指定候选样式
- 浏览器对 link 支持早于@import ,可以使用 @import 对老浏览器隐藏样式
- @import 必须在样式规则之前,可以在 css 文件中引用其他文件
- 总体来说:link 优于@import
。。。。。。。想了解详情请下载附件。
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: [email protected] 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » 前端资料
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
.editorconfig | 0.13 KB | 2019-07-23 |
README.md | 13.62 KB | 2020-08-31 |
README.md | 6.74 KB | 2020-08-31 |
display关系.png | 9.11 KB | 2019-07-23 |
eventLoop.jpg | 21.13 KB | 2019-07-23 |
feguide.jpg | 18.45 KB | 2019-07-23 |
TCP报文.jpg | 1.33 KB | 2019-07-23 |
七体系结构图.gif | 220.04 KB | 2019-07-23 |
各种协议与http协议之间的关系.jpg | 592.08 KB | 2019-07-23 |
快重传与快恢复.jpg | 30.58 KB | 2019-07-23 |
慢开始.jpg | 22.64 KB | 2019-07-23 |
计算机网络体系结构.png | 145.05 KB | 2019-07-23 |
README.md | 17.00 KB | 2020-08-31 |
READEME.md | 3.25 KB | 2020-08-31 |
250道react面试题.md | 42.49 KB | 2019-07-23 |
devtoolsInspect.png | 135.01 KB | 2019-07-23 |
devtoolsTab.png | 30.93 KB | 2019-07-23 |
flux.png | 23.85 KB | 2019-07-23 |
logo.jpeg | 9.07 KB | 2019-07-23 |
phases.png | 156.31 KB | 2019-07-23 |
state.jpg | 59.74 KB | 2019-07-23 |
vdom1.png | 10.39 KB | 2019-07-23 |
vdom2.png | 19.04 KB | 2019-07-23 |
vdom3.png | 9.54 KB | 2019-07-23 |
react.md | 6.30 KB | 2020-08-31 |
vue.md | 6.05 KB | 2020-08-31 |
README.md | 11.63 KB | 2020-08-31 |
网络 | 0.00 KB | 2019-07-23 |
images | 0.00 KB | 2019-07-23 |
css问题 | 0.00 KB | 2019-07-23 |
发表评论 取消回复