python 之 前端开发(基本选择器、组合选择器、 交集与并集选择器、序列选择器、属性选择器、伪类选择器、伪元素选择器)
11.3 css
11.31 基本选择器
11.311 id选择器
根据指定的id名称,在当前界面中找到对应的唯一一个的标签,然后设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#p1 {color: red;} 引用id一定要加#
#p2 {color: green;}
#p3 {color: blue;}
</style>
</head>
<body>
<p id="p1">大多数人的帅,都是浮在表面的,是外表的帅</p>
<p id="p2">而我,不仅具备外表帅,内心更是帅了一逼</p>
<p id="p3">就是我,我就是</p>
</body>
</html>
11.312 类选择器
作用:根据指定的类名称,在当前界面中找到对应的标签,然后设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.p1 {color: red;} #引用class一定要加点.
.p2 {font-size: 50px;}
.p3 {text-decoration: underline;}
</style>
</head>
<body>
<p class="p1">大多数人的帅,都是浮在表面的,是外表的帅</p>
<p class="p2">而我,不仅具备外表帅,内心更是帅了一逼</p>
<p class="p3">那就是我</p>
<!--
第一行与第三行的颜色都是红色
第一行与第二行的字体大小都是50px
第二行与第三行内容有个下划线
-->
<p class="p1 p2">大多数人的帅,都是浮在表面的,是外表的帅</p>
<p class="p2 p3">而我,不仅具备外表帅,内心更是帅了一逼</p>
<p class="p3 p1">那就是我</p>
</body>
</html>
11.313 标签选择器
作用:根据指定的标签名称,在当前界面中找到所有该名称的标签,然后设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p {color: red;}
</style>
</head>
<body>
<p>美丽的外表下其实隐藏着一颗骚动的心</p>
<ul>
<li>
<p>这颗心叫做七巧玲珑心,男人吃了会流泪,女人吃了会怀孕</p>
</li>
</ul>
</body>
</html>
注意: 1、只要是HTML的标签都能当做标签选择器 2、标签选择器选中的是当前界面中的所有标签,而不能单独选中某一标签 3、标签选择器,无论嵌套多少层都能选中
11.314 通配符选择器
作用:选择所有标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {color: red;} #把所有的标签设置相同的属性
</style>
</head>
<body>
<h1 >我是标题</h1>
<p >我是段落</p>
<a href="#">我是超链接</a>
</body>
</html>
11.32 组合选择器
11.321 后代选择器
作用:找到指定标签的所有后代(儿子,孙子,重孙子、、、)标签,设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.part1 p {color: red;} # 1 找到part1下的所有p标签,添加属性
#id1 ul p {color: red;} # 2 找到一个id='id1'下的ul下的所有p标签
</style>
</head>
<body>
<p>我是body下的段落1</p>
<div id="id1" class="part1">
<p>我是div下的段落1</p># 1
<ul>
<li class="aaa">
<p class="ccc">我是ul>li下的段落1</p># 1 2
</li>
</ul>
</div>
<div>
<p>hahahahah</p>
</div>
<p>我是body下的段落2</p>
</body>
</html>
注意:1、后代选择器必须用空格隔开 2、后代不仅仅是儿子,也包括孙子、重孙子 3、后代选择器不仅仅可以使用标签名称,还可以使用其他选择器比如id或class 4、后代选择器可以通过空格一直延续下去
11.322 子元素选择器
作用:找到指定标签的所有特定的直接子元素,然后设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#id1>p {color: red;} # 1 找到id='id1'下的子标签p,添加属性
.part1 ul .aaa>a {color: red;}
</style> #2 找到class='part1'下的所有标签ul下的class=aaa的子标签a,添加属性
</head>
<body>
<p>我是body下的段落1</p>
<div id="id1" class="part1">
<p>我是div下的段落1</p> # 1
<ul>
<li class="aaa">
<p class="ccc">我是ul>li下的段落1</p>
<a href="">点我啊1</a> # 2
<p> <a href="">点我啊2</a> </p>
</li>
<li>
<a href="#">点我啊3</a>
</li>
</ul>
</div>
<div>
<p>hahahahah</p>
</div>
<p>我是body下的段落2</p>
<a href="#">百度一下</a>
</body>
</html>
注意: 1、子元素选择器之间需要用>符号链接,并且不能有空格,比如div >p会找div标签的所有后代标签,标签名为">p" 2、子元素选择器只会查找儿子,不会查找其他嵌套的标签 3、子元素选择器不仅可以用标签名称,还可以使用其他选择器,比如id或class 4、子元素选择器可以通过>符号一直延续下去
11.323相邻兄弟与通用兄弟选择器
相邻兄弟选择器:只能选中紧跟其后的那个标签,不能选中被隔开的标签
通用兄弟选择器:给指定选择器后面的所有选择器中的所有标签设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>后代选择器</title>
<style type="text/css">
#相邻兄弟选择器
h1+p {color: red;}#相邻兄弟选择器必须通过+号链接 x
#通用兄弟选择器
h1~p {color: red;}#通用兄弟选择器必须用~来链接 y
</style>
</head>
<body>
<h1>我是标题1</h1>
<a href="">有了这个标签,p就不再是紧跟h1标签了,但通用兄弟选择器仍然能选中</a>
<p>我是段落</p> #y
<p>我是段落</p> #y
<h1>我是标题2</h1>
<p>我是段落</p> #x y
</body>
</html>
11.33 交集与并集选择器
11.331 并集选择器
作用:给所有满足条件的标签设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p,a {color: red;} #找到所有p标签和a标签,添加属性
</style>
</head>
<body>
<h1>哈哈啊</h1>
<p class="part1">我是段落1</p>
<a href="#" class="part2">a标签</a>
</body>
</html>
注意: 1、选择器与选择器之间必须用逗号来链接 2、选择器可以使用标签名称、id、class
11.332 交集选择器
作用:给所有选择器选中的标签中,相交的那部分标签设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
a.part2 {color: red;} #找到同时有a标签且class="part2",添加属性
</style>
</head>
<body>
<h1>哈哈啊</h1>
<p class="part2">我是段落2</p>
<a href="#" class="part2">a标签1</a> #此处文本变成红色
<a href="#">a标签2</a>
</body>
</html>
注意: 1、选择器与选择器之间没有任何链接符号 2、选择器可以使用标签名称、id、class
11.34 序列选择器
#2.1 同级别
:first-child p:first-child 同级别的第一个
:last-child p:last-child 同级别的最后一个
:nth-child(n) 同级别的第n个
:nth-last-child(n) 同级别的倒数第n个
#2.2 同级别同类型
:first-of-type 同级别同类型的第一个
:last-of-type 同级别同类型的最后一个
:nth-of-type(n) 同级别同类型的第n个
:nth-last-of-type(n) 同级别同类型的倒数第n个
#2.3 其他
:only-of-type 同类型的唯一一个
:only-child 同一级别唯一一个
11.341同级别序列选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p:first-child {color: red;} #同一级别第一个p x
p:last-child {color: red;} #同一级别倒数第一个p y
p:nth-child(3) {color: red;} #同一级别第3个p z
p:nth-last-child(3) {color: red;}#同一级别倒数第3个p w
</style>
</head>
<body>
<h1>我是标题1</h1>
<p>我是段落1</p>
<a href="">aaaaa</a>
<p>我是段落2</p>
<p>我是段落3</p> #w
<p>我是段落4</p>
<p>我是段落5</p> #y
<div>
<p>我是段落6</p> #x w
<a href="">我是a标签</a>
<h1>我是标题2</h1>
</div>
</body>
</html>
11.342同级别同类型序列选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p:first-of-type {color: red;} # 同级别同类型的第一个p x
p:last-of-type {olor: red;} # 同级别同类型的倒数第一个p y
p:nth-of-type(3) {color: red;} # 同级别同类型的第3个p z
p:nth-last-of-type(3) {color: red;} # 同级别同类型的倒数第3个p u
p:only-child {color: red;} # 同一级别唯一一个p 不存在
p:only-of-type {color: red;} # 同类型的唯一一个 不存在
</style>
</head>
<body>
<h1>我是标题1</h1>
<p>我是段落1</p> #x
<a href="">aaaaa</a>
<p>我是段落2</p>
<p>我是段落3</p> #z u
<p>我是段落4</p>
<p>我是段落5</p> #y
<div>
<a href="">我是a标签</a>
<p>我是段落6</p>#x u
<p>我是段落7</p>
<p>我是段落8</p>#y z
<h1>我是标题2</h1>
</div>
<div>
<p>我是独生子</p>#x
<p>我是独生子</p>#y
<a href="">我是二胎</a>
<a href="">我是二胎</a>
</div>
</body>
</html>
11.35 属性选择器
作用:根据指定的属性名称找到对应的标签,然后设置属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
[id] {color: red;} #找到所有包含id属性的标签 x
h1[id] {color: red;} #找到所有包含id属性的h1标签 y
[value] {width: 200px;height: 200px;} #找到所有包含value属性的标签 z
[class="part1"] {color: red;} #找到所有class属性值为part1的标签 u
[class^="part"] {color: red;} #找到所有class属性值以part开头的标签 v
[class*="part"] {color: red;} #找到所有class属性值包含part的标签 w
[class$="yyy"] {color: red;} #找到所有class属性值以yyy结尾的标签 o
[value*="male"] {width: 200px;height: 200px;}#找到所有value属性值包含male的标签 p
[type="radio"] {width: 200px;height: 200px;}#找到所有type属性值为radio的标签 q
</style>
</head>
<body>
<h1 id="id1">哈哈啊</h1>#x y
<p id="id2" class="part3">我是段落22222</p>#x v w
<p class="part1">我是段落1111</p>#u v w
<p class="xxx part2 yyy">我是段落</p>#w o
<input type="radio" name="gender" value="male">#z p q
<input type="radio" name="gender" value="female">#z p q
</body>
</html>
11.36 伪类选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
a:link {color: blue;} #没有访问的超链接a标签样式
a:hover {color: chocolate;} #鼠标悬浮在元素上应用样式:
a:active {color: mediumvioletred;} #鼠标点击瞬间的样式:
a:visited {color: green;} #访问过的超链接a标签样式:
div {width:200px; height:200px; background-color:green;}
div:hover {background-color: red;} #hover ,div等标签也可以使用 input:focus {outline:none;background-color:dark;}#input输入框获取焦点时样式:
</style>
</head>
<body>
<a href="https://www.tmall.com">这是一个好的网站</a>
<div></div>
用户名:
<input type="text" name="username">
</body>
</html>
注意: 1、a标签的伪类选择器可以单独出现,也可以一起出现 2、a标签的伪类选择器如果一起出现,有严格的顺序要求,否则失效 3、hover是所有其他标签都可以使用的 4、focus只给input标签使用
11.37 伪元素选择器
伪元素选择器(CSS3中新增的伪元素选择器):伪元素选择器的作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素
格式:
标签名称:before{属性名称:值;}
标签名称:after{属性名称:值;}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
p:before {content: "alex is BigSB";color: green;} #用于在元素的内容前面插入新内容
p:first-letter {font-size: 200px;} #杂志类文章首字母样式调整
a:after {content:"?";color:red;}#用于在元素的内容后面插入新内容,在所有a标签的内容后面加上一个?
</style>
</head>
<body>
<p>英雄不问出处,流氓不论岁数</p> #alex is BigSB英雄不问出处,流氓不论岁数
<a href="#" class="help">你是干什么的</a>
<a href="#" class="help">你是干什么的</a>
<a href="#" class="help">你是干什么的</a>
</body>
</html>
python 之 前端开发(基本选择器、组合选择器、 交集与并集选择器、序列选择器、属性选择器、伪类选择器、伪元素选择器)的更多相关文章
- 【CSS】伪类和伪元素选择器
伪类 基于当前元素所处的状态或具有的特性,用于设置元素自身的特殊效果. a:link 规定所有未被点击的链接: a:visited 匹配多有已被点击过的链接: a:active 匹配所有鼠标按下 ...
- 以css伪类为基础,引发的选择器讨论 [新手向]
作为第一篇技术干货,来写哪个方面的内容,我着实考虑了很久. 经过了整整30秒的深思熟虑,我决定就我第一次发现新大陆一样的内容,来进行一次讨论. 伪类:伪类对元素进行分类是基于特征(characteri ...
- 前端开发 CSS中你所不知道的伪类与伪元素的区别--摘抄
做过前端开发的人都熟悉伪类与伪元素,而真正能够彻底了解这二者的区别的人并不多.伪类与伪元素确实很容易混淆. 伪元素主要是用来创建一些不存在原有dom结构树种的元素,例如:用::before和::aft ...
- CSS样式表及选择器相关内容(二)-伪类与伪元素选择器
伪类与伪元素选择器归纳: 一.伪类选择器(伪类以":"开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中) 1.a标签伪类选择器,其他标签类似 eg: ...
- css伪选择器使用总结——css中关于伪类和伪元素的知识总汇
CSS 伪类用于向某些选择器添加特殊的效果,而CSS引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化.这里讲总结关于css伪类和伪元素的相关使用 伪元素 :before/:before 在 ...
- 【从0到1学Web前端】CSS伪类和伪元素
1.CSS中的伪类 CSS 伪类用于向某些选择器加入特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 select ...
- 【从0到1学Web前端】CSS伪类和伪元素 分类: HTML+CSS 2015-06-02 22:29 1065人阅读 评论(0) 收藏
1.CSS中的伪类 CSS 伪类用于向某些选择器添加特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 select ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...
随机推荐
- kuangbin专题 专题一 简单搜索 Dungeon Master POJ - 2251
题目链接:https://vjudge.net/problem/POJ-2251 题意:简单的三维地图 思路:直接上代码... #include <iostream> #include & ...
- ~~函数基础(一):函数&参数~~
进击のpython 函数基础(一):参数 ==说明一点奥,如果你前置文章没有看懂,那么不建议你直接看这个== ==因为看了也是浪费时间,没有意义== 好,接下来就是Python的灵魂部分了--函数 在 ...
- 不调用free会内存泄露吗?
内存泄露的概念大家可以自行百度下,本文不做阐述.本文要讲的是在程序中分配了内存,但是最后没有使用free()函数来释放这块内存,会导致内存泄露吗?比如有如下代码: #include <stdio ...
- 【题解】跳房子-C++
Description奶牛按不太传统的方式玩起小朋友玩的跳房子游戏,现给出一个5*%的由数字组成的网格.它们在格子中向前前跳,向后跳,向左跳,向右跳,跳到网格中另一个数字后,又这样继续跳(可能跳到某个 ...
- Excel催化剂开源第43波-Excel选择对象Selection在.Net开发中的使用
Excel的二次开发有一极大的优势所在,可以结合用户的交互进行程序的运行,大量用户的交互,都是从选择对象开始,用户选择了单元格区域.图形.图表等对象,之后再进行程序代码的加工处理,生成用户所需的最终结 ...
- Redis持久化背后的故事
Redis持久化 Redis提供了不同的持久化选项: RDB持久化以指定的时间间隔保存那个时间点的数据快照. AOF持久化方法则会记录每一个服务器收到的写操作.在服务器启动时,这些记录的操作会逐条执行 ...
- C语言入门1-计算机工作原理
一. 计算机与人工智能.计算机系统: 计算机工作原理:计算机的基本原理是存储程序和程序控制,预先要把指挥计算机如何进行操作的指令序列(称为程序)和原始数据通过输入设备输送到计算机内存贮器中.每一条指令 ...
- 使用Mxnet基于skip-gram模型实现word2vect
1. 需求 使用skip-gram模式实现word2vect,然后在jaychou_lyrics.txt数据集上应用 jaychou_lyrics.txt数据集收录了周杰伦从第一张专辑到第十张专辑中的 ...
- JVM指令
本篇指令码表,参考自ASM文档手册,如果你对asm感兴趣,可到ASM官网下载手册学习. 一.本地变量操作指令(I,L,F,D,A这些前缀表示对int,long,float,double,引用进行操作) ...
- spring 注解验证@NotNull等使用方法
@Null 被注释的元素必须为null@NotNull 被注释的元素不能为null@AssertTrue 被注释的元素必须为true@AssertFalse 被注释的元素必须为false@Min(va ...