CSS基础之选择器

目录

- 基础选择器

- 组合选择器

- 属性选择器

- 伪类选择器

- 伪元素选择器


前言 :

CSS中的选择器有基础选择器、组合选择器、属性选择器、伪类选择器、伪元素选择器,在了解选择器之前,我们需要了解:

<style type="text/css">
			/*
				CSS的注释,作用和HTML注释类似,只不过它必须编写在style标签中,或者是css文件中
				
				CSS的语法:
					选择器 声明块
				
				选择器:
					- 通过选择器可以选中页面中指定的元素,
						并且将声明块中的样式应用到选择器对应的元素上

				声明块:
					- 声明块紧跟在选择器的后边,使用一对{}括起来,
						声明块中实际上就是一组一组的名值对结构,
							这一组一组的名值对我们称为声明,
						在一个声明块中可以写多个声明,多个声明之间使用;隔开,
						声明的样式名和样式值之间使用:来连接
			*/
			p{
				color:red;
				font-size:50px;
			}
		</style>
	</head>
	<body>
		<!-- 这是HTML的注释方式 -->
		<p style="color:red">今天天气真不错,PM2.5也就500</p>
		
	</body>

以下就是CSS中选择器的分类啦~

- 基础选择器

元素选择器: p{}、div{}等

类选择器: .类名{}

id选择器: #id值{}

通用选择器: *{}

<style type="text/css">
			/* 
				id选择器:
					作用:根据HTML元素的id属性的值选中有特定元素。
					语法:#id属性值 {}
					示例:#demo {}
					
				需求:将"乡音无改鬓毛衰"改成红色,字体大小改成40px,并为该页面设置一种背景色。
			 */
			#demo {
				color: red;
				font-size: 40px;
			}
			
			/* 
				通配符(通用)选择器
					作用: 选中当前页面的所有元素。
					语法: * {}
					
			 */
			* {
				background-color: yellowgreen;
			}
		</style>
	</head>
	<body>
		<p>少小离家老大回,</p>
		<p id="demo">乡音无改鬓毛衰。</p>
		<p>儿童相见不相识,</p>
		<p>笑问客从何处来。</p>
	</body>
<style type="text/css">
			/* 
				类选择器:
					作用:根据类的值选中有特定class属性的元素。
					语法:.class属性值 {}
					示例:.demo {}
					
				需求:将当前页面后两句的文本改成红色,字体大小改成40px,并给页面设置一种背景色。
			 */
			.demo {
				color: red;
				font-size: 40px;
			}
			.abc {
				background-color: yellowgreen;
			}
		</style>
	</head>
	<body>
		<p>少小离家老大回,</p>
		<p>乡音无改鬓毛衰。</p>
		<p class="demo abc">儿童相见不相识,</p>
		<p class="demo">笑问客从何处来。</p>
	</body>

 

 - 组合选择器

子元素选择器: 父元素 > 子元素 {}

后代选择器: 父元素 子元素 {}

兄弟选择器: 兄 + 弟 {}、兄 ~ 弟 {}

交集选择器:选择器1选择器2选择器3选择器n{}

并集选择器:选择器1,选择器2,选择器3,选择器n{}

<style type="text/css">
		<!--兄弟元素选择器-->
		/*
		p~span{
			color:red;
		}
		*/
	   /*
		p~div>a{
			background-color: #F0FFFF;			
		}
		*/
	   /*
	   .demo ~ div > a{
		   background-color: #FF0000;
	   }
	   */
	  /*
	  div.red{
		  color: #FF0000;
		  font-size: 30px;
	  }
	  */
	  h1,span{
		  color: #00FFFF;
	  }
		</style>
	</head>
	<body>
		<div>
			我是一个div
			<h1>我是div中的元素
			<span>我是div中的p元素中的span元素</span>
			</h1>
			<span>我是div中的span元素</span>
			</div>
</body>

- 属性选择器

CSS表达式 attr() 用来获取选择到的元素的某一HTML属性值,并用于其样式。它也可以用于伪元素,属性值采用伪元素所依附的元素。attr() 表达式可以用于任何CSS属性。

[attr]{}:

[attr=value]{}:

[attr~=value]{}:

[attr^=value]{}:

[attr|=value]{}:

[attr$=value]{}:

[attr*=value]{}:

<title>CSS属性选择器</title>
		<style type="text/css">
		a[target][href] {
			color: #008000;
		}
		/*不带值的选择器
		[attr]{}
		*/
		a[target="_blank"] {
			background: #00FFFF;
		}
		/*含有值的选择器
		[attr=value]{}
		*/
	   
	   [title~=dark] {
		   border: 0.125rem solid green;
	   }
	  [class~=dark]{
		  color: #7FFFD4;
	  }
	  /*部分值属性选择器
	   [attr~=]{}
	  */
	 /*
	 [class^=top]{
		 background: #FF0000;
	 }
	 开头[arrt^=value]{}
	 [arrt|=value]{}
	 结尾[arrt$=value]{}
	 [arrt*=value]{}
	 */
	[class$="test"] {
		background: #F0FFFF;
	}
	 [class |=top]{
	 		 background: #FF0000;
	 }
	 div[name*="xy"]{
		 background: blue;
	 }
	 /*子串匹配属性选择器
	 语法:[attr |=value]
	 值必须是完整的或者是单独的单词,比如class="top",这时"top"或者是"top-其他单词"	 */
		</style>
	</head>
	<body>
		<h1> 示例1</h1>
		<h1 title="美丽中国">美丽中国</h1>
		<a target="流浪地球" href="聚居月球">流浪地球,聚居月球</a>
		<a href="你好" target="_blank">中国人,你好</a>
		<br/>
		<img  src="" title="backgroud" width="400px" height="240px" />
		<h1 class="bcg dark">这是一个h1标签</h1>
		<h2 class="abc">这是一个h2标签</h2>
		<p class="top">这是子串匹配属性选择器</p>
		<p class="top-text">这是子串匹配属性选择器2</p>
	    <p class="topcontent">这个就不能被子串匹配属性选择器选择</p>
	    <p class="mytest">这是一个段落</p>
		<div name="xy_dly" >好好学习</div>
		<span name="xy_zk">天天向上</span>
		<div name="xy_kkxx">开开心心</div>
	</body>

- 伪类选择器

1、伪类选择器,同一个标签,根据其不同的种状态,有不同的样式。这就叫做“伪类”。伪类用冒号来表示。

比如div是属于box类,这一点很明确,就是属于box类。但是a属于什么类?不明确。因为需要看用户点击前是什么状态,点击后是什么状态。所以,就叫做“伪类”。

2、伪类选择器分为两种,静态伪类和动态伪类。

(1)静态伪类:只能用于超链接的样式。

:link 超链接点击之前

:visited 链接被访问过之后

注意:以上两种样式,只能用于超链接。

(2)动态伪类:针对所有标签都适用的样式。如下:

:hover “悬停”:鼠标放到标签上的时候

:active “激活”: 鼠标点击标签,但是不松手时。

:focus 是某个标签获得焦点时的样式

- 伪元素选择器

<style>
	    .firstChild {
	      color: lightcoral;
	    }
	
	    .lastChild {
	      color: lightseagreen;
	    }
	  </style>
	</head>
	
	<body>
	  <p>
	    <span class="firstChild">CSS 人家的全名叫 Cascading Style Sheets的啦</span>
		<br/>
	    <span class="lastChild">CSS 算是 HTML 的专业化妆师了。</span>
	  </p>
	  </body>

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值