1.CSS规则由两部分构成,即选择器和声明器

  声明必须放在{}中并且声明可以是一条或者多条

  每条声明由一个属性和值构成,属性和值用冒号分开,每条语句用英文冒号分开

  注意:

    css的最后一条声明,用以结束的“;”可写可不写,但是基于W3c标准规范思考建议最后一条声明的结束“;”都要写上

2.行内样式

  直接在style属性设置css样式style属性提供了一种改变所有的HTML元素样式的通用方法

  语法:

<h1 style="color:red">style属性的应用</h1>

<p style="font-size:14px;color:green;">直接在HTML标签设置样式</p>

  

3.内部样式

   把css代码写在<head>的<style>标签中与HTMl内部位于同一个HTML文件中,这就是内部样式

4.外部样式

  就是把css代码保存为一个单独样式表文件,文件扩展名位.class在页面引用外部样式即可

  HTML文件外部样式有两种方式分别是链接式和导入式

  1)链接式:

<head>

<link href="...css"rel="stylesheet"type="text/css"

</head>

<!--

rel="stylesheet"是指在本页面使用这个外部样式

type=text/css是指文件的类型是样式表文本

href="...css"文件所在位置

-->

2)导入外部样式表

   在HTML网页使用@import导入外部样式导入样式必须放在<style>标签中而<style>标签必须放在<head>标签中

<head>

<style>

@import url(".....css")

</style>

</head>

<!--其中@import导入文件,前面必须放一个符号,url(".....css")表示样式文件位置-->

3)链接式和导入式区别

  1.<link/>标签属于XHTML范畴中而@import是css2.1中特有的

   2.使用,<link/>的链接css客户端浏览网页时先将css网页加载到网页中,在进行编译显示,所以这种情况下显示出的网页与用户预期的一样即使网速再慢也是一样的效果

  3.使用@import导入css文件客户端在浏览网页时先将HTML结构呈现出来再把外部css文件加载到网页中当然最终与<link/>链接效果一样只是当网速较慢时会先显示没有css统一布局的HTML网页,这样会给用户不好的感觉这也是目前大多数网站用连接外部样式表的主要原因

5.样式的优先级:<就近原则>

行内元素>内部样式表>外部样式表

注:代码是逐条执行,如果内部样式比外部样式先声明,则外部样式具有优先级

6.css3的选择器

  标签选择器 类选择器 和id选择器

1)类选择器

类选择器即<即标签名 class"类名称">标签内容</标签名>

.green{

font-size:20px;

color:red;

}

<p class="green">hhhh</p>

2)id选择器

#green{

font-size:20px;

color:red;

}

<p id="green">hhhh</p>

注意:id选择器只能使用一次,也就是说在同一页面同一个id属性只能设置一次;而类选择器可以在页面使用多次

3)选择器的优先级

  id选择器>class类选择器>标签选择器

7.css3高级选择器

1. 层次选择器

  1)E F 后代选择器 选择匹配的F元素,且匹配的F元素被包含在匹配的E元素中

  2) E>F 子选择器 选择匹配的F元素,且匹配的F元素是匹配E元素的子元素

  3) E+F 相邻兄弟选择器 选择匹配的F元素,且匹配的F元素仅位于匹配的E元素后面

  4)E~F 通用兄弟选择器 选择匹配的F元素,且匹配的E元素后所有匹配的F元素

注:1)通用兄弟选择器选中的是E元素相邻的后面兄弟元素下,是一个或多个元素;

  2)相邻兄弟选中的是与E元素仅挨的F元素,其中选中的仅是一个元素

8.结构伪类选择器

  1)E:first-child 作为父元素的第一个子元素的元素E

   2) E:last-child 作为父元素的最后一个子元素的元素E

  3)E F:nth-child(n) 选择父级元素E 的第n个元素F(n可以是1/2/3)关键字为even odd

  4)E:first-of-type 选择父级元素具有指定类型的第一个E元素

  5)E:last-of-type 选择父级元素具有指定类型的最后一个E元素

  6)E F:nth-of-type(n) 选择父元素内具有指定类型的第n个F元素

注:E F:nth-child(n)和 E F:nth-of-type(n)使用时记住以下关键点:

     1)E F:nth-child(n)在父级里从第一个元素开始查找,不分类型

      2)E F:nth-of-type(n)在父级里先看类型再看位置

9.属性选择器

  1)E[attr] 相匹配具有属性attr的E元素

  2)E[attr=val] 选择匹配具有属性attr的E元素 并且属性值位val(其中Val区分大小写)

  3)E[attr^=val] 选择匹配元素E,且E元素定义了属性attr,其中属性值以val开头的任意字符串

   4)E[attr$=val] 选择匹配元素E,且E元素定义了属性attr,其中属性值以val结尾的任意字符串

  5)E[attr*=val] 选择匹配元素E,且E元素定义了属性attr,其中包含了"val"话句话说,字符串val与属性值中的任意位置相匹配

第四章:初识CSS3的更多相关文章

  1. 第四章初始CSS3预习笔记

    第四章 初始CSS3预习笔记 一: 1: 什么是CSS? 全称是层叠样式表;/通常又称为风格样式表,.他是用来进行网页风格设计的; 2:CSS的优势: 1>内容以表现分离,即使用u前面学习的HT ...

  2. 学习笔记 第十四章 使用CSS3动画

    第14章   使用CSS3动画 [学习重点] 设计2D动画 设计3D动画 设计过渡动画 设计帧动画 能够使用CSS3动画功能设计页面特效样式 14.1  设计2D动画 CSS2D Transform表 ...

  3. 第1章 初识CSS3

    什么是CSS3? CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari.firefox.opera.甚至360都已经支 ...

  4. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  5. CSS3秘笈:第四章

    第四章  继承 1.继承:应用在一个标签上的CSS样式被传到其内嵌标签上的过程. 2.继承的局限性: (1)有些属性不会被继承,如:CSS. (2)以下情况不会严格执行继承: ·影响网页元素位置的属性 ...

  6. jQuery系列 第四章 jQuery框架的选择器

    第四章 jQuery框架的选择器 4.1 jQuery选择器说明 jQuery 最核心的组成部分就是选择器引擎.它完全继承了 CSS 的风格,可以对 DOM 元 素的标签名.属性名.状态等进行快速准确 ...

  7. Python--Redis实战:第四章:数据安全与性能保障:第7节:非事务型流水线

    之前章节首次介绍multi和exec的时候讨论过它们的”事务“性质:被multi和exec包裹的命令在执行时不会被其他客户端打扰.而使用事务的其中一个好处就是底层的客户端会通过使用流水线来提高事务执行 ...

  8. 第9章 初识STM32固件库

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  9. 第9章 初识STM32固件库—零死角玩转STM32-F429系列

    第9章     初识STM32固件库 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  10. 【CSS3】 - 初识CSS3

    .navdemo{ width:560px; height: 50px; font:bold 0/50px Arial; text-align:center; margin:40px auto 0; ...

随机推荐

  1. An SPI class of type org.apache.lucene.codecs.PostingsFormat with name 'Lucene50' does not exist. You need to add the corresponding JAR file supporting this SPI to your classpath. The current classp

    背景介绍: 当ES中guava库与hive等组件的库冲突时,对Elasticsearch库进行shade,relocate解决库冲突问题. 当使用"org.apache.maven.plug ...

  2. 让ubuntu下的eclipse支持GBK编码

    把Windows下工程导入Linux下Eclipse中,由于以前的工程代码,都是GBK编码,而Ubuntu默认不支持GBK编码,所以,我们要让Ubuntu支持GBK,方法如下: 1.修改/var/li ...

  3. 错误:OSError: [Errno 1] Operation not permitted: 'lib/python/six-1.4.1-py2.7.egg-info'

    解决办法: $ $ pip install mock --ignore-installed six --user 问题:安装mock时报错: (venv)➜ test git:(master) pip ...

  4. SFTP编辑linux文件 ——mac sublime text2 sftp

    llinux上编辑文件总是个头疼的事儿.mac上没有nodepad++和editplus,他们都有各自支持的sftp插件,editplus比较好 自然就带了,而notepad++需要另行安装. 下面介 ...

  5. 使用UIScrollView 结合 UIImageView 实现图片循环滚动

    场景: 在开发工作中,有时我们需要实现一组图片循环滚动的情况.当我们使用 UIScrollView 结合 UIImageView 来实现时,一般 UIImageView 会尽量考虑重用,下面例子是以( ...

  6. [Python] 08 - Classes --> Objects

    故事背景 一.阶级关系 1. Programs are composed of modules.2. Modules contain statements.3. Statements contain ...

  7. MySQL存储写入速度慢分析

    问题背景描述: 在MySQL中执行SQL语句,比如insert,贼慢,明明可能也就只是一行数据的插入,数据量很小,但是耗费的时间却很多,为什么? 一.存储结构分析 MySQL存储结构图: 解析: 1. ...

  8. shell join详解

    首先贴一个,join --help Usage: join [OPTION]... FILE1 FILE2 For each pair of input lines with identical jo ...

  9. 【!Important】Java线程死锁查看分析方法

    一.Jconsole Jconsole是JDK自带的图形化界面工具,使用JDK给我们提过的工具JConsole,可以通过cmd打开命令框然后输入Jconsole打开图形工具 然后点击检测死锁就可以查看 ...

  10. (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解

    使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解   本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创 ...