码迷,mamicode.com
首页 > 移动开发 > 详细

css3的三大特性以及移动端说明

时间:2019-12-05 22:24:59      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:样式表   segment   无法   lan   移动端   添加   完整   html   响应   

css3的三大特性:

一、层叠性

所谓层叠性是指多种CSS样式的叠加。

是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉

比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为蓝色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。

一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。

  1. 样式冲突,遵循的原则是就近原则。 那个样式离着结构近,就执行那个样式。
  2. 样式不冲突,不会层叠

CSS最后的执行口诀:  长江后浪推前浪,前浪死在沙滩上。

二、继承性

所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。

简单的理解就是: 子承父业。

CSS最后的执行口诀:  龙生龙,凤生凤,老鼠生的孩子会打洞。

注意:

恰当地使用继承可以简化代码,降低CSS样式的复杂性。子元素可以继承父元素的样式(text-,font-,line-这些元素开头的都可以继承,以及color属性)

三、优先级

定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。

在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:

继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。
?
行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。
?
权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。
?
CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

总结优先级:

  1. 使用了 !important声明的规则。
  2. 内嵌在 HTML 元素的 style属性里面的声明。
  3. 使用了 ID 选择器的规则。
  4. 使用了类选择器、属性选择器、伪元素和伪类选择器的规则。
  5. 使用了元素选择器的规则。
  6. 只包含一个通用选择器的规则。
  7. 同一类选择器则遵循就近原则。

  总结:权重是优先级的算法,层叠是优先级的表现。

Mate

<!DOCTYPE html>  <!-- H5标准声明,使用 HTML5 doctype,不区分大小写 -->

<head lang="en"> <!-- 标准的 lang 属性写法 -->

<meta charset="utf-8">    <!-- 声明文档使用的字符编码 -->

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>   <!-- 优先使用 IE 最新版本和 Chrome -->

<meta name="description" content="不超过150个字符"/>       <!-- 页面描述 -->

<meta name="keywords" content=""/>      <!-- 页面关键词 -->

<meta name="author" content="name, email@gmail.com"/>    <!-- 网页作者 -->

<meta name="robots" content="index,follow"/>      <!-- 搜索引擎抓取 -->

<meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no"> <!-- 为移动设备添加 viewport -->

<!-- 设置页面不缓存 -->

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">

Mate移动端的属性

在移动端开发,最常看到head里面设置了下面这个属性

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" >

  • width : 设置layout viewport 的宽度,为一个正整数,或字符串"width-device"
  • initial-scale:设置页面的初始缩放值,为一个数字,可以带小数
  • minimum-scale:允许用户的最小缩放值,为一个数字,可以带小数
  • maximum-scale:允许用户的最大缩放值,为一个数字,可以带小数
  • height:设置layout viewport 的高度,这个属性并不重要,很少使用
  • user-scalable:是否允许用户进行缩放,值为”no”或”yes”, no 代表不允许,yes代表允许

特殊说明:(IE6,7,8)支持,需要使用css3mediaqueries.js

<!--[if lt IE 9]>

  <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>

<![endif]>

meta http-equiv

http-equiv顾名思义,相当于http的文件头作用。把 content 属性关联到 HTTP 头部。 http-equiv属性主要有以下几种参数:

  • content-Type(设定网页字符集)(推荐使用HTML5的方式)

说明:用于设定网页字符集,便于浏览器解析与渲染页面举例:

<meta http-equiv="content-Type" content="text/html;charset=utf-8">  <!--旧的HTML,不推荐 -->

  • X-UA-Compatible(浏览器采取何种版本渲染当前页面)

说明:用于告知浏览器以何种版本来渲染页面。(一般都设置为最新模式,在各大框架中这个设置也很常见。)

<meta http-equiv="X-UA-Compatibel" conent="IE=edge,chrome=1" >  <!-- 指定IE和Chrome使用最新版本渲染当前页面 -->

  • cache-control(指定请求和响应遵循的缓存机制)

说明:指定浏览器如何缓存某个响应以及缓存多长时间

<meta http-equiv="cache-contorl" conent="no-cache">

共有以下几种用法:

- no-cache: 先发送请求,与服务器确认该资源是否被更改,如果未被更改,则使用缓存。

 - no-store: 不允许缓存,每次都要去服务器上,下载完整的响应。(安全措施)

 - public : 缓存所有响应,但并非必须。因为max-age也可以做到相同效果。

 - private : 只为单个用户缓存,因此不允许任何中继进行缓存。(比如说CDN就不允许缓存private的响应)

 - maxage : 表示当前请求开始,该响应在多久内能被缓存和重用,而不去服务器重新请求。例如:max-age=60表示响应可以再缓存和重用 60 秒。

  • expires(网页到期时间)

说明:用于设定网页的到期时间,过期后网页必须到服务器上重新传输。举例:

<meta htttp-equiv="expires" content="Sunday 26 October 2019 01:00 GMT">

  • Pragma(cache模式)

说明:是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出 。举例:

<meta http-equiv="pragma" content="no-cache">

  • Set-Cookie(cookie设定)

说明:如果网页过期。那么这个网页存在本地的cookies也会被自动删除。举例:

<meta http-equiv="Set-Cookie" content="name, date"> <!-- 格式 -->

<meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT"> <!-- 具体范例 -->

  • refresh(自动刷新并指向某页面)

说明:网页将在设定的时间内,自动刷新并调向设定的网址。举例:

<meta http-equiv="refresh" content="2;URL=https://segmentfault.com/u/clearlove07"> <!-- 意思是2秒后跳转向我的博客 -->

css3的三大特性以及移动端说明

标签:样式表   segment   无法   lan   移动端   添加   完整   html   响应   

原文地址:https://www.cnblogs.com/bu1204/p/11991862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!