CSS学习之选择器
html是盖房子,css是将房子装扮的更漂亮一些!CSS(Cascading Style Sheets),值层叠样式表。
语法
选择器 { 属性 : 属性值 ; }
比如, p{color:red;}
css选择器,用于选择需要添加样式的元素,可以分为标签选择器、class选择器、id选择器、属性选择器、伪类、伪元素选择器、组合选择器等等(本文主要说这几个选择器)。
标签选择器
p{color:#f00;}
h1{font-size:20px;}
标签选择器即是html的元素标签直接作为css选择器使用,就像上面的p和h1
class选择器
<style type="text/css">
.tex{color:#000;}
</style> <div class="tex">
<p>这是第一段文字</p>
<p>这是第二段文字</p>
<p>这是第三段文字</p>
</div>
class选择器为具有特定的一类的元素指定样式。在class名前用“.”来作为类选择器的标识。
id选择器
class选择器为标有特定id的HTML元素指定特定的样式。在class名前用“#”来作为类选择器的标识。id具有唯一性。
属性选择器
属性选择器可以根据元素的属性及属性值来选择元素。
<input type="text" disabled />
如果要为 input 加一个蓝色边框,可以写这样的css
[disabled]{border:1px solid #00f;} 选择带有 disabled 属性的所有元素 [属性值]
也可以这样写
[type=text]{border:1px solid #00f;} 用完整的属性和属性值来选择需要改变的元素 [属性=属性值]
如果元素中的类名是个列表,可以使用属性选择器选择其中的一个,
<p class="one two">第一段</p>
<p class="two">第二段</p> [class~=one]{color:#f00;} [属性~=属性值] 属性值中包含“one”单词的所有元素
还有以下几种属性用法
<a class="en" href="http://www.cnblogs.com">博客园</a>
<a class="en-h" href="www.w3cschool.cn">W3Cschool</a>
<a class="en bai" href="http://www.baidu.com">baidu</a>
<a href="http://www.cnblogs.com/yunmengshu">我的博客</a> [class|=en]{color:#ccc;} [属性|=属性值] 属性值中以en开头的所有元素,en后面必须跟“-”中划线或者不跟任何的字符,不然无法找到,例子中的只有前面两个a标签的文本变为灰色 [href^=http]{color:#f00;} [属性^=属性值] 属性值中以http开头的所有元素,只要是以http开头的就可以,例子中第一个和第三个变为红色 [href$=com]{color:#f00;} [属性$=属性值] 属性值中以com结尾的所有元素 [href*="www.cnblogs.com"]{color:#f00;} [属性*=属性值] 属性值中包含“www.cnblogs.com”的所有元素
伪类
a:link 超链接默认样式,未被访问
a:visited 被访问过的超链接样式,visited 和 link 只能用于<a>标签
:hover 鼠标滑过时显示的样式
:active 鼠标点击时显示样式,active 和 hover 不止用于<a>标签,还可以用于其他元素
如果要设置<a>标签的四个时间的样式,顺序一定要是 link 、visited 、hover 、active
还有两种伪类非常的相像,需要配合记忆,那就是 :nth-child 和 :nth-of-type()
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
</ul>
<p>这是一段话</p>
</body> /*
li:first-child{color:red;} li 的父元素中第一个子元素存在且必须为 li 元素, ul 的第一个子元素 li 才会变成红色
li:last-child{color:red;} li 的父元素中最后一个子元素必须为li 元素才可以
li:nth-child(2n+1){color:#00f;} “2n+1”可以换位其他的运算式,“2n”、"3n"、"3n+1"等等都可以,还可以写奇(odd)偶(even)
li:nth-last-child(even){background-color:#ccc;} 倒序
ul:only-child{border:1px solid #00f;} ul 的父元素中只有一个子元素,且为 ul 元素时,才会出现边框,如上面的HTML是不会出现边框的,因为body的子元素有两个:ul 和 p
*/ li:first-of-type{color:#f00;} li 的父元素中第一个为 li 的子元素
li:last-of-type{color:#f00;} li 的父元素中最后一个为 li的子元素
li:nth-of-type(even){color:#f00;}
li:nth-last-of-type(odd){color:#00f;}
ul:only-of-type{border:1px solid #00f;} ul 的父元素中可以有多个元素,但是只有一个 ul 元素的时候才可以显示边框,如上面的html中时会显示边框的 一定要区别 -child 和 -of-type 的不同
还有其他的伪类
:root 选择根元素,即html
:not() 选择除()中元素之外的所有元素
:empty 选择空元素的元素
:enabled 启用
:disabled 禁用
还有其他的就不一一说了
伪元素
::first-letter 设置文本的第一个字的样式
::first-line 设置文本的第一行的样式
::before 在元素前插入内容 如,p::before{content:"新段落";}
::after 在元素后插入内容 和before一样
::selection web页面上选中文本后的样式
组合选择器
<div>
<h1>head</h1>
<p>我是第一个段落</p>
<p>我是第二个<span>段落</span></p>
<p>我是第三个段落</p>
</civ>
后代选择器以空格分隔,如
div p{color:red;} div 是 p 的父元素
子元素选择器以“>”分隔,如
div>p{color:red;} p 必须是 div 的直接子元素,不可以是孙元素,即不可以是 div>span ,这样写是无法显示 span 的样式的
相邻兄弟选择器以“+”分隔,
h1+p{color:red;} 选中 h1 后面相邻元素,且必须为 p 元素
如果要选择 h1 后面的所有 p 元素,该怎么办呢?用相邻兄弟选择器“~”
h1~p{color:red;} 选中 h1 后面所有的 p 元素
h1 和 p 元素的样式设置一样的情况下,可以合并起来一起写,选择器之间用“,”逗号隔开
h1{color:#f00;}
p{color:#f00;} /* 可以合并选择器 */ h1,p{color:#f00;}
CSS学习之选择器的更多相关文章
- CSS学习之选择器优先级与属性继承
CSS学习之选择器优先级与属性继承 选择器优先级 其实选择器是具有优先级的,我们来看下面这一组案例: <!DOCTYPE html> <html lang="en" ...
- CSS学习笔记——选择器
选择器 当我们定义一条样式规则时候,这条样式规则会作用于网页当中的某些元素,而我们的规定的这些元素的规则就叫做选择器. 常用的选择器: 1.id选择器 #idname 2.类选择器 .classnam ...
- CSS学习笔记----选择器
用过css的同志们都知道,选择器是非常重要的,如果选择器使用不当,即使你的css写的再好,但是不知道要用在哪个元素上,这不是英雄无用武之地吗? css,用过的都说好! 最基本的选择器,id选择器,类选 ...
- HTML+CSS学习笔记(8)- CSS选择器
标签:HTML+CSS 什么是选择器? 每一条css样式声明(定义)由两部分组成,形式如下: 选择器{ 样式; } 在{}之前的部分就是"选择器","选择器"指 ...
- CSS学习摘要-语法和选择器
主要摘自网络开发者. 从最基本的层次来看,CSS是由两块内容组合而成的: 属性(Property):一些人类可理解的标识符,这些标识符指出你想修改哪一些样式,例如:字体,宽度,背景颜色等. 属性值(V ...
- CSS学习笔记之选择器
目录 1.元素选择器 2.继承 3.选择器分组 4.声明分组 5.后代选择器 6.子元素选择器 7.相邻兄弟选择器 8.类选择器 9.ID 选择器 10.属性选择器 11.伪类 12.伪元素 1.元素 ...
- HTML学习笔记 CSS学习选择器案例 第五节 (原创) 参考使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- css学习_写法规范、选择器
1.css(层叠样式表)样式主要目的(让页面更好看些) css尽量不要写内联样式,保证结构和样式分离原则: html专门负责结构,css专门负责样式. 2.css写法规范 选择器 { 属性 :值 : ...
- CSS学习笔记(4)--选择器(w3school)
CSS3 选择器 在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. "CSS" 列指示该属性是在哪个 CSS 版本中定义的.(CSS1.CSS2 还是 CSS3.) ...
随机推荐
- 在点击div中的p时,如何阻止事件冒泡?
今天整理笔记,发现在学习javaScript的过程中,遇到过一个在当时看来很棘手的问题,现在特地总结一下,也希望能帮助到曾像我一样迷惘的初学者. 我还是以一个案例来说明问题,html代码如下: < ...
- 763A - Timofey and a tree
A. Timofey and a tree time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- link js重构心得
过年前后一段时间,对link库的代码进行的大量的重构,代码精简了许多,性能也得到了很大的改善,写此文记录期间所做的改进和重构,希望对看到此文的js程序员有所帮助. 1. 代码构建 最初代码使用gulp ...
- 读书笔记 effective c++ Item 11 在operator=中处理自我赋值
1.自我赋值是如何发生的 当一个对象委派给自己的时候,自我赋值就会发生: class Widget { ... }; Widget w; ... w = w; // assignment to sel ...
- DFS 分布式文件系统 选型笔记
需求按优先级顺序如下: 1)存放3TB以上中小型文件,图片为主,平均在500~700k,一般在1M以内. 2)要集群化,支持负载均衡,高可用高性能.有大企业使用背书最好. 3)提供Java程序上传文件 ...
- 【轮子狂魔】手把手教你用JS给博客动态增加目录 - 超级懒人版
动态显示目录的作用 不用每次写博客的时候繁琐的人工整理目录,又可以动态浮动在右下角,方便快速跳到感兴趣的位置同时也可以快速的对文章内容有一个大概的了解. 实现原理 首先根据个人喜好,我习惯了用 h1 ...
- JavaScript实现按键精灵
最近有个需求,需要在页面上面自动点击.输入.提交. 用以模拟真实用户的操作行为,可以通过直接执行某个元素绑定的事件,来执行操作. 也可以创建事件,再派发事件,执行操作.关于事件的更多细节,可以参考&l ...
- C++程序员的阅读清单
link:http://www.who1753.com/must-read-c-book-list/ 多读一些优秀的书籍,对于开发者稳固编程基础.提高编程技能有很大帮助.但是,大多时候,初学者不知道应 ...
- 解决CSS中float:left后需要clear:both清空
现在,大部分的横排导航都是通过 ul -> li *n -> a 来实现的.具我所知,要达到这种效果,有几种方法可以实现. 1.传统处理方式: li {float:left;}/*这样,对 ...
- 第八讲:I/O虚拟化
一.I/O虚拟化的产生 服务器单个千兆以太网端口肯定能够支持单个应用,但是当被分割为10个.15个或者更多的服务器负载时(这其中包括网络.存储以及服务器之间的流量)可能就不够用了. 当遇到I/O瓶颈时 ...