css怎么选择子元素(css如何选择子元素)
##CSS选择器
#标签选择器
#id选择器
#类选择器
#后代选择器
#子元素选择器
#交集选择器
#并集选择器
#兄弟选择器(相邻兄弟选择器/通用兄弟选择器)
#序选择器(CSS3中最具代表性)
#属性选择器
#通配符选择器
#伪元素选择器
标签选择器
1.什么是标签选择器?
作用:根据指定的标签名称,在当前界面中找到所有该名称的标签,然后设置属性
2.格式:
标签名称{
属性:值;
}
注意点:
1.标签选择器选中的是当前界面中所有的标签,而不能单独选中某一个标签
2.标签选择器无论藏得多深都能被选中
3.只要是HTML中的标签就可以作为标签选择器
id选择器
1.什么是id选择器?
作用:根据指定的id名称找到对应的标签,然后设置属性
格式:
#id名称{
属性:值;
}
注意点:
1.每个HTML标签都有一个属性叫做id,也就是说每个标签都可以设置id
2.在同一个界面的id名称是不可以重复的
3.在编写id选择器时一定要在id名称前面加上#
4
id的名称是有一定的规范的
4.1.if的名称只能由字母/数字/下划线组成
4.2.id名称不能以数字开头
4.3id名称不能是HTML标签的名称
4.4在企业开发中一般情况下如果仅仅是为了设置样式,我们不会使用id,因为前端开发中是留给js使用的
类选择器
什么是类选择器?
作用:根据指定的类名称找到对应的标签,然后设置属性
格式:
.类名称{
属性:值;
}
注意点:
1.每个HTML标签都有一个属性叫做class,也就是说每个标签都可以设置class
2.在同一个界面的class名称是可以重复的
3.在编写class选择器时一定要在class名称前面加上.
4.类名的命名规范和id名称的命名规范一样
5.类名解释专门用来给某个特定的标签设置样式的
6.在HTML中每个标签可以同时绑定多个类名
格式:
标签名称class=“类名1类名2类名3”
错误写法
id和class的区别?
1.1
id相当于人的身份证不可以重复
class相当于人的名称可以重复
1.2
一个HTML标签只能绑定一个id名称
一个HTML表圈可以绑定多个class名称
2.id选择器是以#开头
class选择器以.开头
3.在企业开发中到底使用id选择器还是用class选择器
id选择器一般是给js用的,除非特殊情况,否则不要用id去设置样式
4.在企业开发中一个开发人员对类的使用可以看出这个开发人员的技术水平
后代选择器
什么是后代选择器?
-作用:找到指定标签的所有特定的后代标签,设置属性
-格式:
标签名称1标签名称2{
属性:值;
}
先找到名称叫做标签名称1的标签,然后再在这个标签下面去查找所有名称叫做标签名称2的标签,然后再设置属性
-注意点:
1.后代选择器必须用空格隔开
2.后代不仅仅是儿子,也包括孙子/重孙子.只要最终是放到指定标签中的都是后代
3.后代选择器不仅仅可以使用标签名称还可以使用其他选择器
子元素选择器
什么是子元素选择器?
-作用:找到所有标签中特定的直接子元素,然后设置属性
-格式:
标签名称1标签名称2{
属性:值;
}
先找到名称叫做”标签名称1”的标签,然后再这个标签中找到所有的直接子元素名称叫做”标签名称2”的元素
-注意点:
1.子元素选择器只会查找儿子,不会查找其他被嵌套的标签
2.子元素选择器,之间需要用连接,而且不能有空格
3.子元素选择器不仅仅可以使用标签名称还可以用其他选择器
4.子元素选择器可以通过符号一直延续下去
1.后代选择器和子元素选择器之间的区别?
1.1
后代选择器使用空格作为连接符号
子元素选择器使用作为连接符号
1.2
后代选择器会选中指定标签中,所有的特定后代标签
子元素选择器只会选中指定标签中,所有的特定直接标签
2.后代选择器和子元素选择器之间的共同点
2.1
后代选择器和子元素选择器都可以使用标签名称/id名称/class名称来作为选择器
2.2
后代选择器和子元素选择器都可以通过各自的连接符号一直延续下去
3.在企业开发中如何选择
交集选择器
什么是交集选择器?
-作用:给所有选择器选中的标签中,相交的那部分标签设置属性
-格式:
选择器1选择器2{
属性:值;
}
-注意点:
1.选择器1和选择器2之间没有任何的连接符号
2.选择器可以使用标签的名称/id名称/class名称
3.交集选择器仅仅作为了解,企业开发中用的并不多
并集选择器
什么是并集选择器?
-作用:给所有选择器选中的标签设置属性
格式:
选择器1,选择器2{
属性:值;
}
注意点:
1.并集选择器必须使用,来连接
2.2.选择器可以使用标签的名称/id名称/class名称
兄弟选择器
1.相邻兄弟选择器CSS2
-作用:给指定选择器后面[紧跟]的那个选择器选中的标签设置属性
格式:
选择器1+选择器2{
属性:值;
}
注意点:
1.相邻兄弟选择器必须通过+连接
2.相邻兄弟选择器只能选中紧跟其后面的那个标签,不能选中被隔开的标签
2.通用兄弟选择器CSS3
-作用:给指定的选择器后面的所有选择器选中的所有标签都设置属性
-格式:
选择器1~选择器2{
属性:值;
}
-注意点:
1.通用兄弟选择器必须用~连接
2.通用兄弟选择器选中的是指定选择器后面某个选择器选中的标签后面的所有标签
序选择器(CSS3中新增的选择器中最具代表性)
1.同级别的第几个
:first-child选中同级别中的第一个标签
:last-child选中同级别中的最后一个标签
:nth-child(n)选中同级别中的第n个标签
:nth-last-child(n)选中同级别中的倒数第n个标签
:only-child选中父元素中唯一的子元素
:nth-child(odd)奇数选中同级别中的所有奇数个标签
:nth-child(even)偶数选中同级别中的所有偶数个标签
:nth-child(xn+y)选中同级别中的所有的用户自定义的(xn+y)个标签
x和y是用户自定义的,而n是一个计数器,从0开始递增有多少个标签n就递增多少次
注意点:不区分类型
2.同类型的第几个
:first-of-type选中同级别中同类型的第一个标签
:last-of-type选中同级别中同类型的最后一个
:nth-of-type(n)选中同级别中同类型的第n个标签
:nth-last-of-type(n)选中同级别中同类型的倒数第n个标签
:only-of-type选中父元素中唯一类型的某个标签
属性选择器
什么是属性选择器?
作用:根据指定的属性名称找到对应标签,然后设置属性
格式:
[attribute]
作用:根据指定的属性名称找到对应的标签,然后设置属性
[attribute=value]
作用:找到有指定属性,并且属性的取值等于value的标签,然后设置属性
最常见的应用场景,就是用于区分input属性
1.属性的取值是以什么开头的
[attribute|=value]CSS2
[attribute^=value]CSS3
两者之间的区别:
CSS2中的只能找到value开头并以-和其他内容隔开的标签,而CSS3可以找到以value开头的所有标签
2.属性的取值是以什么结尾的
[attribute$=value]?CSS3
3.属性的取值是否包含某个特定的值的
[attribute~=value]CSS2
[attribute*=value]CSS3
两者之间的区别:
CSS2中的只能找到独立的单词,也就是说value用空格和其他内容隔开的标签,而CSS3可以找到包含value的所有标签
通配符选择器
什么是通配符选择器?
-作用:给当前界面上所有的标签设置属性
-格式:
*{
属性:值;
}
-注意点:
由于通配符是设置界面上所有的标签的属性,所以在设置前会遍历所有的标签,如果当前界面上的标签比较多,那么性能会比较差,所以企业开发中一般不会使用通配符选择器
1.什么是伪元素选择器?
伪元素选择器作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个子元素
格式:
给指定标签的内容前面添加一个子元素
标签名称::before{
属性名称:值;
}
给指定标签的内容后面添加一个子元素
标签名称::before{
属性名称:值;
}
css有哪些选择器
CSS中常用的选择器:
(一)基本选择器(二)层次选择器(三)动态伪类选择器(四)目标伪类选择器
(五)ui状态伪类选择器(六)结构伪类选择器(七)属性选择器(八)伪元素
(一)基本选择器
1.标签选择器:通过标签名获取元素权重:0001
(此种选择器影响范围大,建议尽量应用在层级选择器中。)
2.class选择器:通过.类名获取元素权重:0010
(通过class类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。)
3.id选择器:通过#id名获取元素权重:0100
(通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。)
4.*通配符选择器:获取到页面的所有元素
5.群组选择器:用逗号隔开基本选择器,表示这些选择器都获取到
(二)层次/关系选择器
(主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。)
1.包含选择器:用空格隔开基本选择器,表示后一个选择器是前面的后代
例:pa{color:red;}
2.子代选择器:用隔开基本选择器,表示后一个选择器是前面的子代
例:ulli{line-style:none;}
3.相邻兄弟选择器:E+F:表示获取到E后面的紧跟着的F元素(同级的)
例:a+a{}
4.兄弟选择器:E~F:表示获取到E后面所有的同级的F元素
例:li~li{}
(三)动态伪类选择器
1.a:link锚链接被访问前添加样式
2.a:visited锚链接被访问后添加样式
3.e:hover鼠标悬停在元素上添加样式
4.e:active鼠标点击元素时添加样式
5.:focus表单元素被聚焦时,添加样式
(四)目标伪类选择器
语法:目标:target{属性:属性值}被选中的目标添加样式
目标:targetE子元素{属性:属性值}被选中的目标里的E子元素添加样式
(五)ui状态伪类选择器
1.:enabled可用的表单元素添加样式
2.:disabled不可用的表单元素添加样式(disabled)
3.:checked+E被选中的表单元素添加样式
(六)结构伪类选择器
1.E:first-child获取到E元素,且要满足为其父元素的第一个孩子。
2.E:last-child获取到E元素,且要满足为其父元素的最后一个孩子
3.E:nth-child(n)获取到E元素,且要满足为其父元素的第n个孩子
n的用法:
(1)6n倍数(2)even偶数/2nodd奇数/2n-1(如可用来选中奇偶行来实现“隔行换色”)
(3)-n+5选中1-5
(4)p:nth-child(-n+3):nth-child(n+2)2-3个
4.E:nth-last-child(n)获取到E元素,且要满足为其父元素的倒数第n个孩子
5.E:first-of-type获取到E元素,且要满足为其父元素的第一个该类型的孩子
6.E:last-of-type获取到E元素,且要满足为其父元素的最后一个该类型的孩子
7.E:nth-of-type(n)获取到E元素,且要满足为其父元素的第n个该类型的孩子
8.E:nth-last-of-type(n)获取到E元素,且要满足为其父元素的倒数第n个该类型的孩子
9.E:empty获取到空的E元素(注:连空格都不能有)
(七)属性选择器
1.E[attr]拥0有attr属性的E元素添加样式如div[class];
2.E[attr="val"]拥有attr属性值为val的E元素添加样式如p[class="ab"]
3.E[attr*="val"]attr属性值包含val的E元素添加样式
如ul[class="c"]指class类名中包含有c字母的E元素
4.E[attr^="val"]attr属性值以val开头的E元素添加样式
5.E[attr$="val"]attr属性值以val结尾的E元素添加样式
(八)伪元素
1.E::before给E元素添加第一个子元素(前面)
2.E::after给E元素添加最后一个子元素(后面)
3.E::first-letter给E元素第一个字添加样式
4.E::first-line给E元素第一行添加样式
5.E::selection元素内容被选中时添加样式(火狐需要加前缀-moz-)
css3的选择器有哪些?css3选择器如下:
一、通配符选择器(*)
通配符选择器是用来选择所有元素,,也可以选择某个元素下的所有元素。
二、元素选择器(E)
元素选择器,是css选择器中最常见而且最基本的选择器。
三、类选择器(.className)
类选择器是以一独立于文档元素的方式来指定样式,使用类选择器之前需要在html元素上定义类名
四、id选择器(#ID)
ID选择器和上面说的类选择器是很相似的,在使用ID选择器之前也需要先在html文档中加注ID名称,这样在样式选择器中才能找到相对应的元素,不同的是ID选择器是一个页面中唯一的值,我们在类使用时是在相对应的类名前加上一个“.”号(.className)而id选择器是在名称前使用"#"如(#id),
五、后代选择器(EF)
后代选择器也被称作包含选择器,所起作用就是可以选择某元素的后代元素,比如说:E?
F,前面E为祖先元素,F为后代元素,所表达的意思就是选择了E元素的所有后代F元素,请注意他们之间需要一个空格隔开。
六、子元素选择器(Egt;F)
子元素选择器只能选择某元素的子元素,其中E为父元素,而F为子元素,其中Egt;F所表示的是选择了E元素下的所有子元素F。这和后代选择器(E?
F)不一样,在后代选择器中F是E的后代元素,而子元素选择器Egt;F,其中F仅仅是E的子元素而以。
七、相邻兄弟元素选择器(E+F)
相邻兄弟选择器可以选择紧接在另一元素后的元素,而且他们具有一个相同的父元素,换句话说,EF两元素具有一个相同的父元素,而且F元素在E元素后面,而且相邻,这样我们就可以使用相邻兄弟元素选择器来选择F元素。
CSS:如何选择一个元素下的两种同级子元素?css选择一个元素下的2中同级元素,我们首先还是需要获取到这个元素,可以通过给这个元素一个id或者是class来做,选择同级子元素,一般设置的都是相同的css样式,所以,在同级子元素的选取中css是通过一个','来隔开元素名,然后其他的还是一样的书写css样式,请看代码:
html
head
style
#div1{
width:600px;
height:40px;
font-size:13px;
}
#div1p,span{//通过一个‘,’实现对2个同级子元素的选取
display:block;
width:300px;
height:30px;
text-align:center;
margin:0auto;
}
/head
body
divid='div1'
p我是测试文字/p
span我是测试文字1/span
/div
/body
/html
CSS子元素后代元素及兄弟元素选择器元素之间的关系:
父元素:直接包含子元素的元素
子元素:直接被父元素包含的元素
祖先元素:直接或间接包含后代的元素,父元素也是祖先元素
后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素
兄弟元素:拥有相同父元素的元素叫做兄弟元素
兄弟元素选择器
spyder如何运行django项目(2023年最新整理)
我们是想从一个已存在的资源创建项目,所以选是,完成创建 如何在服务器上部署Django项目并使其在后台一直运行前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在DigitalOcean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿...
如何将django项目部署到服务器(2023年最新解答)
如何在服务器上部署Django项目并使其在后台一直运行前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在DigitalOcean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿它来试验一下。废话不多说,第一步通过WinSCP软件把Django...
前端小玩具年度盘点
Martian Mono 是唯一入选推荐榜的字体,它是另一种名为 Martian Grotesk 的字体的等宽版本,包含从压缩到半宽,从很细到超粗的28种样式。AnimatiSS 是一个独特 CSS 动画的集合,允许用户使用类名向页面上的元素添加动画,包含10种风格类别的动画,用户可以在线微操每种类别的持续时间。Vanta.js 是一个...
如何复制django(2023年最新解答)
拷贝完项目之后打开pycharm,文件,新建工程,选择文件位置,把文件目录选在在pycharmproject下,刚才创建的目录下 打开项目,会出现提示 我们是想从一个已存在的资源创建项目,所以选是,完成创建 如何在django中使用多个数据库 Django可以自定义数据库读写路由,从实用的角度讲,一般就是主从复制的读写分离。这个比较简单,定...
jquery怎么截取字符串
jquery并没有提供截取字符串的相关方法, 也没有必要;jquery并不是一门单独的语言, 只是javascript的一个扩展库, 主要作用 是简化html元素选取操作\/css控制\/Ajax等,还有一下js特效和动画;要截取字符串, 可以用js原生方法;js提供了三个提取字符串的方法(这三种方法都不改变源字符串):substr(...
django如何实现扫描器(django实现扫描二维码)
如何在服务器上部署Django项目并使其在后台一直运行 前几天老师让我把一个Django项目(爬虫网页)放到校园内网上,但是我想先用自己的服务器来尝试一下。之前刚好有在DigitalOcean上买过服务器用来运行ss脚本,平时服务器一直放着没啥用,所以就拿它来试验一下。 废话不多说,第一步通过WinSCP软件把Django文件传到服务器...
如何发布django到网上(2023年最新整理)
如何发布django到网上(2023年最新整理)导读:本篇文章首席CTO笔记来给大家介绍有关如何发布django到网上的相关内容,希望对大家有所帮助,一起来看看吧。如何在阿里云上部署django前提条件1.为Python应用程序安装vir
js怎么点击导航菜单js怎么点击导航菜单没反应
prefixfree用了它,写css时,就不需要加浏览器的前缀了 表单类 jquery-file-upload上传文件组件详细 zTree文件树形视图控件 Treed树编辑器。感觉展示的感觉很像思维导图 FileAPI对文件选择框内的文件的一些处理 表单验证 .Validate详细 jQuery-Validation-Engine 表单元素美化 uniform提供对下拉框,单,复选框,按钮等表单...
asp.net如何外联css
4. ss = "css 的路径";5.一般就是在pageLoad事件中加载 6.然后在页面中<link href='<%=ss %>' type="text\/css" rel="Stylesheet"\/> 7.注意:要把head的 runat="server" 去掉 在有母版页的情况下 1。同上1,只不过要把母版页的head 设为 runat="server"2。同上2,只不过要把属性...
【CSS】 css如何改变a标签的字体内容呢?
需要准备的材料分别有:电脑、浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的标签中,输入js代码:('#open').click(function () {$(this).text('改了');});3、浏览器运行index.html页面,点击a标签,此时成功将内容变更为了“改了”。