css3选择器、颜色、文本、盒模型、私有化前缀

选择器

属性选择器

其特点是通过属性来选择元素,具体有以下 5 种形式:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 300px;
				height: 100px;
				border: 1px solid red;
			}
			/*div带有class属性的都选中*/
			/*div[class]{
				background: blue;
			}*/
            /*div带有class属性 ,并且选中值为 div1
            属性值完全等于div1*/
			/*div[class=div1]{
				background: yellow;
			}*/
			/*div带有class属性 ,并且选中值包含div
			div[class*=div:属性值里包含div 字符并且在 “任意”位置*/
			/*div[class*=div]{
				background: salmon;
			}*/
            /*div带有class属性 ,并且选中值以 c结尾
            div[class$=c]:表示的属性值里包含div 字符并且在“结束”位置;*/
			/*div[class$=c]{
				background: #FF0000;
			}*/
			/*div带有class属性 ,并且选中值以d开头的
			div[class^=d]:表示的属性值里包含div 字符并且在“开头”位置;*/
			div[class^=d]{
				background: blueviolet;
			}
		</style>
	</head>
	<body>
		<div class="div1"></div>
		<div class="div2c"></div>
		<div class="div3"></div>
	</body>
</html>

伪类选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 300px;
				height: 100px;
				border: 1px solid red;
			}
			/*nth-child(n):选中第n个元素*/
			div:nth-child(3){
				background: gold;
			}
			/*nth-last-child(n):选中倒数第n个元素*/
			div:nth-last-child(2){
				background: firebrick;
			}
			/*first-child:选中第一个元素*/
			div:first-child{
				background: darkcyan;
			}
			/*last-child:选中最后一个元素*/
			div:last-child{
				background: hotpink;
			}
			/*选中的是奇数的div的第一种方法*/
			div:nth-child(odd){
				background: tomato;
			}
			/*选中的是奇数的div的第二种方法*/
			div:nth-child(2n+1){
				background: tomato;
			}
			/*选中的是奇数的div的第三种方法*/
			div:nth-child(2n-1){
				background: tomato;
			}
			/*选中的是偶数的div的第一种方法*/
			div:nth-child(even){
				background: thistle;
			}
			/*选中的是偶数的div的第二种方法*/
			div:nth-child(2n){
				background: thistle;
			}
			/*选中的是前二个div*/
			div:nth-child(-1n+2){
				background: black;
			}
			/*选中的是后两个*/
			div:nth-last-child(-1n+2){
				background: teals;
			}
			/*选中的是3的倍数的div*/
			div:nth-child(3n){
				background: orange;
			}
		</style>
	</head>
	<body>
		<div></div>
		<div></div>
		<div></div>
		<div></div>
		<div></div>
	</body>
</html>

div:empty 选中没有任何子节点的div元素,没有任何的子元素,包括空格.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			div{
				width: 300px;
				height: 100px;
				border: 1px solid red;
				margin: 20px;
			}
            /* 如果div是空的则会被选中*/
			div:empty{
				background: darkblue;
			}
		</style>
	</head>
	<body>
		<div></div>
		<div>
			<span>div</span>
		</div>
	</body>
</html>

目标伪类

target 结合锚点进行使用,处于当前锚点的元素会被选中;
举例:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .nav{
            position: fixed;
            left:0;
            top:100px;
        }
        li a{
        	text-decoration: none;
        }
        .content{
            width: 800px;
            margin: 0 auto;
        }
        h2:target{
            color: red;
        }
    </style>
</head>
<body>
<ul class="nav">
    <li><a href="#t1">CSS (层叠样式表)</a></li>
    <li><a href="#t2">实例</a></li>
    <li><a href="#t3">发展历史</a></li>
    <li><a href="#t4">使用方法</a></li>
    <li><a href="#t5">布局特点</a></li>
</ul>
<div class="content">
    <h2 id="t1">CSS (层叠样式表)</h2>
    <p>层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。</p>
    <p>CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。</p>
    <h2 id="t2">实例</h2>
    <p>如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器。[1] d 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。以下的样式规则应用于元素属性 id="para1":</p>
    <p>class 选择器用于描述一组元素的样式,class选择器有别于id选择器,class可以在多个元素中使用。class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。</p>
    <h2 id="t3">发展历史</h2>
    <p>作为一项W3C推荐,CSS1发布于 1996年12月17 日。1999 年1月11日,此推荐被重新修订。</p>
    <p>作为一项 W3C 推荐,CSS2发布于 1999年1月11日。CSS2添加了对媒介(打印机和听觉设备)和可下载字体的支持。</p>
    <h2 id="t4">使用方法</h2>
    <p>有三种方法可以在站点网页上使用样式表:外联式Linking(也叫外部样式):将网页链接到外部样式表。嵌入式Embedding(也叫内页样式):在网页上创建嵌入的样式表。内联式Inline(也叫行内样式):应用内嵌样式到各个网页元素。其中,优先级:内联式 > 嵌入式 > 外联式</p>
    <p>当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。</p>
    <p>当特殊的样式需要应用到个别元素时,就可以使用内联样式。 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。以下实例显示出如何改变段落的颜色和左外边距。</p>
    <h2 id="t5">布局特点</h2>
    <p>对于蜘蛛在爬行一个网站的页面时,若是有太多的垃圾代码,会使搜索蜘蛛对其产生不友好、不信任感,同时蜘蛛的爬行速度也会因此而减缓,对于网站SEO而言,可谓一大忌。就如传统的用table页面,对此我们就需要对网站进行代码优化,而这便需要动用CSS+div了,下面便来谈谈使用CSS+div进行代码优化的一些益处。</p>
    <p>网站使用DIV+CSS布局使代码很是精简,相信大多朋友也都略有所闻,css文件可以在网站的任意一个页面进行调用,而若是使用table表格修改部分页面却是显得很麻烦。要是一个门户网站的话,需手动改很多页面,而且看着那些表格也会感觉很乱也很浪费时间,但是使用css+div布局只需修改css文件中的一个代码即可。</p>
    <p>采用div-css布局的网站对于搜索引擎很是友好,因此其避免了Table嵌套层次过多而无法被搜索引擎抓取的问题,而且简洁、结构化的代码更加有利于突出重点和适合搜索引擎抓取。</p>
</div>
</body>
</html>

伪元素选择器

E::before、E::after是一个行内元素,需要转换成块元素
E:after、E:before 会被自动识别为E::after、E::before,按伪元素来对待,这样做的目的是用来做兼容处理。
E::first-letter 文本的第一个字母或字
E::first-line 文本第一行

颜色

1:opacity 设置透明度,只能针对整个盒子设置透明度
2:子盒子会继承父盒子的透明

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			/*c2中的透明
			.out{
				width: 400px;
				height: 400px;
				border: 1px solid red;
				margin: 100px auto;
				background-color: gold;
				opacity: 0.2;
			}
			.in{
				width: 200px;
				height: 200px;
				background-color: firebrick;
				opacity: 1;
				margin: 100px auto;
			}*/
			/*完全透明*/
			/*.out{
				width: 400px;
				height: 400px;
				border: 1px solid red;
				margin: 100px auto;
				background: transparent;
			}
			.in{
				width: 200px;
				height: 200px;
				background: green;
				margin: 100px auto;
			}*/
			/*Red、Green、Blue、Alpha(透明度)即rgba
			/*.out{
				width: 400px;
				height: 400px;
				border: 1px solid red;
				background-color: rgba(244,34,56,0.3);
				margin: 100px auto;
			}
			.in{
				width: 200px;
				height: 200px;
				margin: 100px auto;
				background-color: bisque;
			}*/
			/*H 色调 取值范围 0~360,0/360 表示红色、120 表示绿色、240 表示蓝色
                S 饱和度 取值范围 0%~100%
                L 亮度 取值范围 0%~100%
                A 透明度 取值范围 0~1*/
			.out{
				width: 400px;
				height: 400px;
				background-color: hsla(45,34%,50%,0.2);
				margin: 100px auto;
				border: 1px solid red;
			}
			.in{
				width: 200px;
				height: 200px;
				background-color: gold;
				margin: 100px auto;
			}
		</style>
	</head>
	<body>
		<div class="out">
			<div class="in"></div>
		</div>
	</body>
</html>

文本

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*文本阴影*/
			/*p{
				font-size: 300px;
				font-family: "微软雅黑";
				font-weight: 400;
				text-align: center;
			    /*文字阴影:text-shadow: 水平位移 垂直位移  模糊程度  阴影颜色; */
				text-shadow: 20px 10px 2px gold;
			}*/
			/*凹凸文字效果*/
			body{
				background-color: #666666;
			}
			p{
				font-size: 100px;
				font-family: "微软雅黑";
				font-weight: 400;
				text-align: center;
				margin: auto;
				color: #666666;
			}
			.ao{
				text-shadow: -1px -1px 1px #000,1px 1px 1px #FFFFFF;
			}
			.tu{
				text-shadow: -1px -1px 1px #FFFFFF,1px 1px 1px #000;
			}
		</style>
	</head>
	<body>
		<p class="ao">你好css3</p>
		<p class="tu">你好css3</p>
	</body>
</html>

盒模型

box-sizing 有两个值:content-box border-box
content-box:对象的实际宽度等于设置的width 值和border、padding 之和
border-box: 对象的实际宽度就等于设置的width 值,即使定义有border 和padding 也不会改变对象的实际宽度

私有化前缀

浏览器私有化前缀:
-webkit-: 谷歌 苹果浏览器
-moz-:火狐浏览器
-ms-:ie浏览器
-o-:欧朋浏览器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值