碎点小结

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>

 

以上是关于碎点小结的主要内容,如果未能解决你的问题,请参考以下文章

[code] PTA 胡凡算法笔记 DAY039

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板