当前位置: 首页 > news >正文

CSS选择器整理学习(下)

        书接上回,在前端项目开发中,有时候需要对特殊的元素进行特殊的处理,但有时候元素的位置不确定、层级不确定、数量不确定等问题,导致我们没办法进行元素的选择,这个时候我们就需要用到元素选择器了。

一、css选择器

1、:last-of-type

选择器例子例子描述
:last-of-typep:last-of-type选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

代码:

<!DOCTYPE html>
<html>
<head>
<style>
p:last-of-type
{ 
background:yellow;
}
</style>
</head>

<body>
<div class="test">
   <p>我是第一个</p>
   <p>我是第二个</p>
</div>
<p>我是第三个</p>


</body>
</html>



页面展示:

2、:link

代码:

<!DOCTYPE html>
<html>
<head>
<style>
a:link{
    color: red;
}
</style>
</head>

<body>
<a href="www.baidu.com">前往百度</a>


</body>
</html>



页面展示:

3、:not(p)

代码:

<!DOCTYPE html>
<html>

<head>
	<style>
		p {
			color: aqua;
		}

		:not(p) {
			color: red;
		}
	</style>
</head>

<body>
	<p>我是第一个</p>
	<p>我是第二个</p>
	<p>我是第三个</p>
	<div>1111</div>


</body>

</html>

页面展示:

4、:nth-child(n)

代码:

<!DOCTYPE html>
<html>

<head>
	<style>
		.test p:nth-child(2){
			color: red;
		}
	</style>
</head>

<body>
<div class="test">
	<p>111</p>
	<p>1111</p>
	<div>
		<p>222</p>
		<p>2222</p>
	</div>

</div>
</body>

</html>

页面展示:

5、:nth-last-child(n)

代码:

<!DOCTYPE html>
<html>

<head>
	<style>
		.test p:nth-last-child(2){
			color: red;
		}
	</style>
</head>

<body>
<div class="test">
	<p>111</p>
	<p>1111</p>
	<div>
		<p>222</p>
		<p>2222</p>
	</div>

</div>
</body>

</html>

页面展示:

 6、:nth-of-type(n)

代码:

<!DOCTYPE html>
<html>

<head>
	<style>
		p:nth-of-type(2){
			color: red;
		}
	</style>
</head>

<body>
<div class="test">
	<p>111</p>
	<div>111</div>
	<p>1111</p>
	<div>
		<p>222</p>
		<p>2222</p>
	</div>

</div>
</body>

</html>

页面展示:

7、:nth-last-of-type(n)

8、:only-of-type

代码:

<!DOCTYPE html>
<html>
<head>
<style> 
p:only-of-type
{
background:#ff0000;
}
</style>
</head>

<body>

<div>
<p>这是一个段落。</p>
</div>

<div>
<p>这是一个段落。</p>
<p>这是一个段落。</p>
</div>

</body>
</html>

页面展示:

9、:only-child

代码:

<!DOCTYPE html>
<html>
<head>
<style> 
p:only-of-type
{
background:#ff0000;
}
</style>
</head>

<body>

<div>
<div><p>这是一个段落。</p></div>
</div>

<div>
<p>这是一个段落。</p>
<p>这是一个段落。</p>
</div>

</body>
</html>

页面展示:

10、:optional

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:optional {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>演示 :optional 选择器</h1>

<p>可选的 input 元素:<br><input></p>

<p>必填的 input 元素:<br><input required></p>

<p>:optional 选择器选取不带 "required" 属性的表单元素。</p>


</body>
</html>

页面展示:

11、:out-of-range

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:out-of-range {
  border: 2px solid red;
}
</style>
</head>
<body>

<h1>演示 :out-of-range 选择器</h1>

<input type="number" min="5" max="10" value="17">

<p>请尝试在给定范围(5 到 10)之间输入数字,来查看样式消失。</p>

</body>
</html>

页面展示:

12、::placeholder

代码:

<!DOCTYPE html>
<html>
<head>
<style>
::-webkit-input-placeholder { /* Edge */
  color: red;
}

:-ms-input-placeholder { /* Internet Explorer */
  color: red;
}

::placeholder {
  color: red;
}
</style>
</head>
<body>

<p>请使用 ::placeholder 选择器来改变占位文本的颜色:</p>

<input type="text" name="fname" placeholder="First name">

</body>
</html>

页面展示:

13、:read-only

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:read-only {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>演示 :read-only 选择器</h1>

<p>普通的 input 元素:<br><input value="hello"></p>

<p>只读的 input 元素:<br><input readonly value="hello"></p>

<p>:read-only 选择器选取带有 “readonly” 属性的表单元素。</p>

</body>
</html>

页面展示:

14、:read-write 

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:read-write {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>演示 :read-write 选择器</h1>

<p>普通的 input 元素:<br><input value="hello"></p>

<p>只读的 input 元素:<br><input readonly value="hello"></p>

<p>:read-write 选择器选取不带 “readonly” 属性的表单元素。</p>

</body>
</html>

页面展示:

15、:required

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:required {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>演示 :required 选择器</h1>

<p>可选的 input 元素:<br><input></p>

<p>必填的 input 元素:<br><input required></p>

<p>:required 选择器选取带有 “required” 属性的表单元素。</p>

<p>Internet Explorer 9 以及更早的版本不支持 :required 选择器。</p>

</body>
</html>

页面展示:

 

 16、:root

代码:

<!DOCTYPE html>
<html>
<head>
<style> 
:root
{
background:#ff0000;
}
</style>
</head>
<body>

<h1>这是标题</h1>
<p>第一个段落。</p>
<p>第二个段落。</p>
<p>第三个段落。</p>
<p>第四个段落。</p>
<p>第五个段落。</p>

</body>
</html>

 页面展示:

 17、::selection

代码:

<!DOCTYPE html>
<html>
<head>
<style>
::selection
{
color:#ff0000;
}
::-moz-selection
{
color:#ff0000;
}
</style>
</head>
<body>

<h1>请试着选取页面上的文本</h1>

<p>这是一个段落。</p>

<div>这是 div 元素中的文本。</div>

<br>

</body>
</html>

页面展示:

 18、:target

代码:

<!DOCTYPE html>
<html>
<head>
<style>
:target
{
border: 2px solid #D4D4D4;
background-color: #e5eecc;
}
</style>
</head>
<body>

<h1>这是标题</h1>

<p><a href="#news1">跳转至内容 1</a></p>
<p><a href="#news2">跳转至内容 2</a></p>

<p>请点击上面的链接,:target 选择器会突出显示当前活动的 HTML 锚。</p>

<p id="news1"><b>内容 1...</b></p>
<p id="news2"><b>内容 2...</b></p>

<p><b>注释:</b> Internet Explorer 8 以及更早的版本不支持 :target 选择器。</p>

</body>
</html>

页面展示:

19、:valid 

代码:

<!DOCTYPE html>
<html>
<head>
<style>
input:valid {
  background-color: yellow;
}
</style>
</head>
<body>

<h1>演示 :valid 选择器</h1>

<input type="email" value="support@example.com">

<p>请尝试输入一个非法的电子邮件地址,来查看样式消失。</p>

<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持 :valid 选择器。</p>

</body>
</html>

页面展示:

 20、:visited

代码:

<!DOCTYPE html>
<html>
<head>
<style>
a:visited
{
background-color:yellow;
}
</style>
</head>
<body>

<a href="http://www.w3school.com.cn">W3Sschool</a>
<a href="http://www.google.com">Google</a>
<a href="http://www.wikipedia.org">Wikipedia</a>

<p><b>注释:</b>:visited 选择器为已被访问的链接设置样式。</p>

</body>
</html>

页面展示:

相关文章:

  • [Lua实战]整理Lua中忽略的问题
  • Spring事件详解,Spring-Event源码详解,一文搞透Spring事件管理
  • 【C语言进阶】柔性数组
  • 2023​史上最全软件测试工程师常见的面试题总结​ 备战金三银四
  • Day12【元宇宙的实践构想01】—— 元宇宙概念和发展历程
  • 《从0开始学大数据》之如何自己开发一个大数据SQL引擎
  • websoket是干么的如何基于websoket实现一个简单的消息通信。
  • nacos 服务发现获取列表源码分析
  • 【MySQL】过年没有回老家,在出租屋里整理了一些思维导图
  • 《流浪地球 2》 Deepfake 小试牛刀,45+ 吴京「被」年轻,变身 21 岁小鲜肉
  • C++工程实践必备技能
  • GitHub访问问题与FastGithub下载及使用(详细篇)
  • <使用Python自定义生成简易二维码>——《Python项目实战》
  • Spring Boot 热部署(热加载)
  • 又一个开源工具搞完了,工作效率直接翻倍
  • Android 控件背景颜色处理
  • CentOS从零开始部署Nodejs项目
  • miaov-React 最佳入门
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Terraform入门 - 3. 变更基础设施
  • windows下如何用phpstorm同步测试服务器
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 精彩代码 vue.js
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • # include “ “ 和 # include < >两者的区别
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)STL算法之遍历容器
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET导入Excel数据
  • .net对接阿里云CSB服务
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net项目IIS、VS 附加进程调试
  • .sh
  • @Async注解的坑,小心
  • @property @synthesize @dynamic 及相关属性作用探究
  • [ solr入门 ] - 利用solrJ进行检索
  • [.NET]桃源网络硬盘 v7.4
  • [17]JAVAEE-HTTP协议
  • [ASP.NET MVC]Ajax与CustomErrors的尴尬
  • [C/C++] C/C++中数字与字符串之间的转换
  • [Docker]五.Docker中Dockerfile详解
  • [dts]Device Tree机制
  • [Eclipse] 详细设置护眼背景色和字体颜色并导出
  • [IMX6DL] CPU频率调节模式以及降频方法
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?
  • [LeetCode]Balanced Binary Tree
  • [Linux] - 定时任务crontab
  • [No000016]为什么假期计划总是做不到?
  • [Oh My C++ Diary]return 1和return 0的区别