WEB笔记-2 剖析CSS规则

2.1 剖析CSS规则

规则即指令,其声明了需要修改的元素及要应用给元素的样式。

2.2 为文档添加样式的三种方法

行内样式:直接写在HTML文档标签中的style属性当中,行内元素只影响它所在的标签,总会覆盖嵌入样式和链接样式

例:<p style="width=300px;height=120px;color=red;"></p>

嵌入样式:写在<style>标签中,会覆盖外部样式

例:<style>......</style>

链接样式:写在单独的css文件中

除了以上三种为页面添加样式的方式,还有一种在样式表中链接其他样式表的方法,使用@import指令

例:@import url(css/style.css)

值得注意的是,@import指令必须出现在样式表中其他样式之前,否则@import引用的样式不会被加载

浏览器解析到<style>会尽心css的解析,解析完后会继续解析html,但是当用户将<style>加入到外部css文件中后浏览器就会不解析外部样式了

2.3 CSS命名规则惯例

CSS规则由选择符声明两部分组成,其中选择符用于指定选择的DOM元素,其中声明由两部分组成属性

属性指定要影响元素哪方面的样式。

三种规则,1、多个声明在一个规则里;2、多个选择符组合;3、多条规则应用给一个选择符

2.4 上下文选择符

 

father children {property:style;}

此类选择符在CSS规范中严格来讲叫:后代组合式选择符(descendant conbinator selector)

上下文选择符以空格作为分隔符,分组选择符以逗号作为分隔符。

2.4.1 自选择符  >

标签1 > 标签2

规定标签1不能是标签2父元素外的其他祖先元素

2.4.2 紧邻同胞选择符  +

标签1 + 标签2

标签2必须紧跟在其同胞标签1的后面

2.4.3 一般同胞选择符  ~

标签1 ~ 标签2

标签2必须跟(不一定紧跟)在同胞标签1的后面

2.4.4 通用选择符  *

匹配任意元素

2.5 ID和类选择符

 

ID和类为我们提供了选择元素的另一套手段,利用他们可以不用考虑文档的层次结构。

2.5.1 类

1、类选择符

(.)紧跟类名

2、标签带类选择符

<标签名>.<类名>

3、多类选择符

.<类名>.<类名>

这里注意两个类名之间没有空格,表示我们选择同时具备这两个类名的元素,否则就变成了“祖先/后代”关系的上下文选择符了。

2.5.2 ID

例:

#container{样式声明}或p#specialtext{样式声明}

用于页内导航的ID

<a href="#bio">Biography</a>

该标签可跳转到页内指定ID标签所在位置

2.6 属性选择符

2.6.1 属性名选择符

标签名[属性名]

2.6.2 属性值选择符

标签名[属性名=“属性值”]

2.7 伪类

2.7.1 UI伪类

UI伪类基于特定的HTML元素的状态应用样式。

1、连接伪类

Link:此时,链接就在那儿等着用户点击;

Visited:用户此前点击过这个链接;

Hover:鼠标指针正悬停在链接上;

Active:链接正在被点击(鼠标按下,没有释放)。

一个冒号(:)表示伪类,两个冒号(::)表示CSS3新增的伪元素。

2、:focus 伪类

表单中的文本字段在用户单机它时会获得焦点,然后用户才能在其中输入字符。

input:focus {border:1px solid blue;}

会在光标位于input字段中时,为该字段添加一个蓝色的边框。这样可以让用户明确的知道输入的字符该出现在哪里。

3、:target 伪类

如果用户点击一个指向页面中其他元素的链接,则那个元素就是目标(target),可以用:target伪类选中它。

#more_info:target{background:#eee}

会在用户单击链接转向ID为more_info的元素时,为该元素添加浅灰色背景

2.7.2 结构化伪类

结构化伪类可以根据标记的结构应用样式,比如根据某元素的父元素或前面的同胞元素是什么。

1、:first-child 和 :last-child

第一个元素,最后一个元素

2、:nth-child(n)

n表示一个数值,可以使用odd或even

……

2.8 伪元素

1、::first-letter伪元素

p::first-letter{font-size:300%}

实现首字母放大效果

2、::first-line伪元素

可选中文本段落(一般情况下是段落)的第一行。

3::before,::after

可用于在特定元素前面或后面添加特殊内容

<p class="age">25</p>

添加样式

--每个content属性值总都包含了空格,以便输出结果中有适当的空距

p.age::before{content:"Age: "}

p.age::after{content:"years. "}

结果

Age: 25 years.

搜索引擎不会取得伪元素的信息,不要通过伪元素添加你想让搜索引擎知道的重要内容

2.9 层叠

浏览器层叠各个来源样式的顺序:

  1. 浏览器默认样式表
  2. 用户样式表
  3. 作者链接样式表
  4. 作者嵌入样式
  5. 作者行内样式

层叠规则

一、找到应用给每个元素和属性的所有声明

二、按顺序和权重排序

p{color:green !import; font-size:12pt;}

!import 用于给样式添加特权

三、按特指度排序

更明确的选择符将会采用

p.large > p

计算特指度

按照 I-C-E 的规则计算

1、如果选择符中有个ID 就在I的位置上+ 1

2、选择符中有类,就在C的位置+1

3、选择符中有元素,就在E的位置+1

4、得到一个”三位数“,

这里每个选择符都比前一个选择符特指度更高

四、顺序决定权重

如果两条规则都影响某元素的同一个属性,而且他们的特指度也相同,则位置最靠下(最后声明)的胜出。

时间: 2024-08-14 15:29:47

WEB笔记-2 剖析CSS规则的相关文章

CSS权威指南学习笔记系列(1)CSS和文档

题外话:HTML是一种结构化语言,而CSS是它的补充:这是一种样式语言.CSS是前端三板斧之一,因此学习CSS很重要.而我还是菜鸟,所以需要加强学习CSS.这个是我学习CSS权威指南的笔记,如有不对,请谅解和指出.谢谢大家.正文: 第一章 CSS和文档---------- 1.CSS,称为层叠样式表.使用CSS的理由有:a.易于使用,样式表能大大减少Web创作人员的工作量:b.在多个页面上使用样式,可以创建一个样式表,然后把这个样式表应用到多个页面:c.层叠,CSS还规定了冲突规则:这些规则统称

学习笔记:ajax使用规则讲解

ajax: 局部数据更新:1.ajax 由 html css Dhtml  js xml json dom 的一种结合. ajax 是一种技术,它是一种解决方案.  具有一些互动性的不需要页面刷新,减少用户的心理等待时间,并能够及时响应数据的一种解决方案2.ajax 的特点:    ajax 是基于标准的html css xml的构造    使用dom对象动态的显示和交互数据     它的数据交互格式 文本格式 xml  json    使用基于浏览器的xmlHTTPRquest 对象进行数据同

提高 web 应用性能之 CSS 性能调优

CSS 性能调优 CSS 代码的分析与渲染都是由浏览器来完成的,所以,了解浏览器的 CSS 工作机制对我们的优化有至关重要的作用.这篇文章我们主要从如下几个方面入手来介绍一下 CSS 的性能优化: Style 标签的相关调优 特殊的 CSS 样式使用方式 CSS 缩写 CSS 的声明 CSS 选择器 把 Stylesheets 放在 HTML 页面头部: 浏 览器在所有的 stylesheets 加载完成之后,才会开始渲染整个页面,@import 就相当于是把 <link> 标签放在页面的底部

[转]提高 web 应用性能之 CSS 性能调优

简介 Web 开发中经常会遇到性能的问题,尤其是 Web 2.0 的应用.CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 CSS 会对页面渲染的效率有严重影响,尤其是对于结构复杂的 Web 2.0 页面,这种影响更是不可磨灭.所以,写出规范的.高性能的 CSS 代码会极大的提高应用程序的效率.本文主要来探讨一下如何优化,以及从哪些方面优化应用程序的 CSS 代码,从而最大限度的提高 Web 应用的性能. 回页首 CSS

web前端-----第二弹CSS

web前端之CSS样式 CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. ''' selector { property: value; property: value; ... property: value } ''' 例如: h1 {color:red; font-size:14px;} css的四种引入方式 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. <p style="background-

Web基础--HTML、Css

一.Web项目(可跳过,直接从下一个标题开始) 1.Web项目: 指的是带网页的项目,通过浏览器可以访问的项目.比如:淘宝.天猫等. 2.Web项目构成: 浏览器(客户端).服务器.数据库. 3.Java Web项目访问流程: 客户端通过Servlet/JSP与服务器进行联系,服务器通过JDBC与数据库进行联系. 4.Java Web程序员学习目标: (1)如何对服务器进行编程.(2)如何对数据库进行编程.(3)如何使服务器访问数据库.(4)如何对客户端进行编程.(5)如何使客户端访问服务器.(

web—第四章css&amp;第五章

web—第四章css&第五章 终于迎接等待已久的CSS,在没学这个之前,我们只会用一点img,查一点小图片,或者是用style改一下颜色,而且比较麻烦.现在多了个css在文件夹在创建一个css文件很多东西都可以在css里面而且修改的话非常方便,但是我还是有一些问题,就是老师叫我们做注册表的时候:年月日我真不相信是用下拉列表一个一个打上去的,我一开始想用时间轴但是太难啦,老师也没说. 随着时间过得很快国庆节也要来临了,这几天老师似乎有点急但是又怕教不好我们所以课程会有点紧张,但是我觉得还是很好跟上

移动web笔记

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1″>      http://hi.baidu.com/lansesansan/item/e6411bce3fb8c25ebdef6931 移动web笔记,布布扣,bubuko.com

CSS3学习笔记-1:CSS样式继承

自己在写css时总会遇上css样式继承的问题,好在一般问题不大,但一直也不明白css样式继承的规则,最近发现了一篇文章讲的不错,因此转载过来: 所谓CSS的继承是指被包在内部的标签将拥有外部标签的样式性质.继承特性最典型的应用通常发挥在整个网页的样式预设,需要指定为其它样式的部份设定在个别元素里即可.这项特性可以给网页设计者提供更理想的发挥空间.但同时继承也有很多规则,应用的时候容易让人迷惑 CSS的一个主要特征就是继承,它是依赖于祖先-后代的关系的.继承是一种机制,它允许样式不仅可以应用于某个