碎点小结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了碎点小结相关的知识,希望对你有一定的参考价值。
1.各主流浏览器内核
IE: trident内核
Firefox:gecko内核
Safari:webkit内核
Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核
Chrome:Blink(基于webkit,Google与Opera Software共同开发)
2.<!DOCTYPE html>中DOCTYPE是起什么作用
<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。(重点:告诉浏览器按照何种规范解析页面)
3.为什么利用多个域名来存储资源
CDN缓存更方便
突破浏览器并发限制
节约cookie带宽
节约主域名的连接数,优化页面响应速度
防止不必要的安全问题
4.页面中隐藏元素的方式
display : 隐藏对应的元素但不挤占该元素原来的空间。
visibility: 隐藏对应的元素并且挤占该元素原来的空间。
即是,使用CSS display:none属性后,HTML元素(对象)的宽度、高度等各种属性值都将“丢失”;而使用visibility:hidden属性后,HTML元素(对象)仅仅是在视觉上看不见(完全透明),而它所占据的空间位置仍然存在。
position,假如说一个元素的距离我们的视窗(电脑显示屏幕)足够大,大到我们浏览器也无法显示出来,那么它也是“消失”的。但是这种做法一般适用于比较写死的东西。
用法:position:absolute; top:-999em或者left:-999em 或 position:absolute; visibility:hidden;
text-indent,一般是首行缩2个中文字的用法是text-indent:2em。但当给他一个足够大的负值,大到一般我们浏览器无法显示。
用法:text-indent:-999em
优点:利于搜索引擎
缺点:它的作用其实就是把文字提到段落前面,不让我们看见,不影响宽度?
5.rgba和opacity之间的区别
rgba()和opacity都能实现透明效果,但最大的不同是opacity作用于元素,以及元素内的所有内 容的透明度,而rgba()只作用于元素的颜色或其背景色。(设置rgba透明的元素的子元素不会继承透明效果!)
另外opacity存在兼容问题,E5-8不支持opacity,解决办法:
.opacity {
opacity: 0.4
filter: alpha(opacity=60); /* for IE5-7 */
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* for IE 8*/
}
6.px/rem的区别
一般em的计算是以16px为基础来进行计算的,但是rem则是以html标签的大小进行计算的其中r的意思就是root的意思如:设置的数字为1.2就是为html标签定义大小的1.2倍。
7.清除浮动的方法
http://www.jb51.net/css/173023.html 详情
(1)父级div定义height
原理:父级div手动定义height,就解决了父级div无法自动获取到高度的问题。
优点:简单、代码少、容易掌握
缺点:只适合高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题
建议:不推荐使用,只建议高度固定的布局时使用
结尾处加空div标签clear:both
(2).clearfloat{clear:both}
原理:添加一个空div,利用css提高的clear:both清除浮动,让父级div能自动获取到高度
优点:简单、代码少、浏览器支持好、不容易出现怪问题
缺点:不少初学者不理解原理;如果页面浮动布局多,就要增加很多空div,让人感觉很不好
建议:不推荐使用,但此方法是以前主要使用的一种清除浮动方法
(3)父级div定义 伪类:after 和 zoom
.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.clearfloat{zoom:1}
原理:IE8以上和非IE浏览器才支持:after,原理和方法2有点类似,zoom(IE转有属性)可解决ie6,ie7浮动问题
优点:浏览器支持好、不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)
缺点:代码多、不少初学者不理解原理,要两句代码结合使用才能让主流浏览器都支持。
建议:推荐使用,建议定义公共类,以减少CSS代码。
(4).父级div定义 overflow:hidden
原理:必须定义width或zoom:1,同时不能定义height,使用overflow:hidden时,浏览器会自动检查浮动区域的高度
优点:简单、代码少、浏览器支持好
缺点:不能和position配合使用,因为超出的尺寸的会被隐藏。
建议:只推荐没有使用position或对overflow:hidden理解比较深的朋友使用。
(5).父级div定义 overflow:auto
原理:必须定义width或zoom:1,同时不能定义height,使用overflow:auto时,浏览器会自动检查浮动区域的高度
优点:简单、代码少、浏览器支持好
缺点:内部宽高超过父级div时,会出现滚动条。
建议:不推荐使用,如果你需要出现滚动条或者确保你的代码不会出现滚动条就使用吧。
(6).父级div 也一起浮动
原理:所有代码一起浮动,就变成了一个整体
优点:没有优点
缺点:会产生新的浮动问题。
建议:不推荐使用,只作了解。
(7).父级div定义 display:table
原理:将div属性变成表格
优点:没有优点
缺点:会产生新的未知问题。
建议:不推荐使用,只作了解。
(8).结尾处加 br标签 clear:both
原理:父级div定义zoom:1来解决IE浮动问题,结尾处加 br标签 clear:both
建议:不推荐使用,只作了解。
8.关于移动端的代码解释
<!--html5标准文档模式-->
<!DOCTYPE html>
<!--试用的语言是中文简体-->
<html lang="zh-CN">
<head>
<!--编码格式-->
<meta charset="utf-8">
<!--是告诉浏览器用最新的渲染引擎来渲染页面-->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--用标准的移动端viewport设置来渲染页面 设置宽度和设备一样宽 默认的缩放比是和pc一样 1.0 不允许用户缩放-->
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<!-- 首先告诉浏览器 优先解析-->
<title>标题</title>
<!--需要引用bootstrap的核心css文件-->
<!-- Bootstrap -->
<link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn‘t work if you view the page via file:// -->
<!--小于IE9的浏览器会加载这么两句js-->
<!--条件注释 小于IE9才会运行标签里面的代码 gt gte lte 条件判断 -->
<!--[if lt IE 9]>
<script src="lib/html5shiv/html5shiv.js"></script>
<script src="lib/respond/respond.js"></script>
<![endif]-->
<!--TODO自己的css文件-->
</head>
<body>
<!--TODO-->
<!--[if lt IE 9]>
<h1>你好,世界!</h1>
<![endif]-->
<!--因为是基于jquery的-->
<!-- jQuery (necessary for Bootstrap‘s javascript plugins) -->
<script src="lib/jquery/jquery.js"></script>
<!--引入bootstrap核心js文件-->
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="lib/bootstrap/js/bootstrap.js"></script>
<!--TODO 自己的js文件-->
</body>
</html>
以上是关于碎点小结的主要内容,如果未能解决你的问题,请参考以下文章