CSS——后代选择器

后代选择器:当需要把某一个部分的所有内容进行样式改变,就要想到后代选择器。后代选择器描述的是祖先结构。

	<style type="text/css">
		.div1 p{
			color:red;
		}
	</style>

空格即表示后代,.div1 p就是.div1的后代的所有p,如下:

	<style type="text/css">
	.div1 p{
		color:red;
	}
	</style>
</head>
<body>
	<div class="div1">
		<p>段落</p>
		<p>段落</p>			
		<p>段落</p>
	</div>
	<div>
		<p>段落</p>
		<p>段落</p>			
		<p>段落</p>	
	</div>

空格可以多次出现,比如以下就是.div1里面的后代.li2里面的p:

	<style type="text/css">
		.div1 li2 p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<ul>
			<li>
				<p>pages</p>
				<p>pages</p>
				<p>pages</p>
			</li>
			<li class="li2">
				<p>pages</p>
				<p>pages</p>
				<p>pages</p>
			</li>
		</ul>
	</div>
</body>

假设1:

	<style type="text/css">
		.div1 .div3 p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

假设2:

	<style type="text/css">
		div div p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

假设3:

	<style type="text/css">
		div .div2 div div p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

假设4:

	<style type="text/css">
		div .div2 div p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

以上四种假设的选择器都可以生效。

假设5:

	<style type="text/css">
		div2 .div1 .div3 .div4{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

假设6:

	<style type="text/css">
		div div .div4 div p{
			color:red;
		}
	</style>
</head>
<body>
	<div class="div1">
		<div class="div2">
			<div class="div3">
				<div class="div4">
					<p>猜猜我是什么颜色嘻嘻嘻</p>	
				</div>
			</div>
		</div>
	</div>
</body>

假设5和假设6无法生效,因为祖先顺序不对。

### CSS 样式及选择器用法教程 #### 一、CSS 的基本概念 层叠样式表(Cascading Style Sheets),简称CSS,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言[^1]。 #### 二、为 HTML 文档添加 CSS 样式的方式 存在三种主要的方法来向网页中加入 CSS: - **内联样式**:通过在特定的 HTML 元素上使用 `style` 属性定义样式。这种方式只影响单个元素。 - **内部样式表**:利用 `<style>` 标签,在文档头部即 `<head>` 部分声明一组规则应用于整个页面内的多个元素[^2]。 - **外部样式表**:创建独立于 HTML 文件之外的 .css 文件,并通过 `<link>` 标签将其链接到 HTML 页面中,从而实现全局范围内的样式控制。 #### 三、CSS 选择器详解 选择器用于指定要应用样式的 HTML 元素。以下是几种常见的选择器及其用途: - **标签选择器**:直接针对某一种类型的 HTML 标记设置样式,如 `p {color: red}` 表示所有段落文字颜色变为红色。 - **类选择器**:以点号开头 `.classname` 来匹配具有相同 class 名字的一组元素;可以重复使用同一个类别名称给不同对象赋予相似外观特性。 - **ID 选择器**:由井字号加唯一标识符组成 `#idname` ,通常每个页面只有一个这样的 ID 值对应单一实例化组件。 - **伪类和伪元素选择器**:分别处理特殊状态下的交互效果以及部分结构上的装饰性内容展示需求,像 `a:hover`, `::before` 或者 `::after`. - **组合选择器** - 并集选择器(`,`) :允许一次定义多种不同类型的选择条件共享相同的属性配置; - 子代选择器 (`>`) : 只作用于父级下一层级的孩子节点而非后代子孙们; - 后续兄弟选择器 (~) 和相邻兄弟选择器 (+): 分别选取紧接前边同辈成员之后出现的目标实体或是紧跟其后的下一个同胞个体[^4]. 对于交集选择器而言,它是由两个简单选择器构成的一种复合形式——前者限定后者所处的具体上下文中,例如 `div.active` 就是指定了那些既属于 div 类型又携带 active 类别的项目[^3]。 ```html <!-- 内部样式 --> <head> <style type="text/css"> /* 定义 p 下的文字颜色 */ p { color: blue; } </style> </head> <body> <p>Hello world!</p> </body> ``` ```html <!-- 使用交集选择器 --> <div class="active">这是一个激活的状态。</div> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值