CSS笔记 第二天

2.选择器

什么是选择器?

更加准确选中需要设置的标签

head标签中加style标签

将样式都放在style中

2.1标签选择器

2.1.1权重:

标签选择器:0.0.0.1

类选择器:0.01.0

id选择器:0.1.0.0

伪目标选择器:0.0.1.0

行内样式:1.0.0.0

!important:无穷大

权重计算相加

权重值相同的后边覆盖前边

但权重叠加不会进位

/* 宽高无效 */

 <style>
 a {
     width:200px;
     height:200px;
     background-color: blue;
     border:1px blue solid;
     <--边框属性,实线,取值无顺序要求,中间用空格隔开;边框属性,solid实线,指的是边框的样式,粗细值和样式是必须写的,取值无顺序要求,中间用空格隔开-->
     display:inline-block;
     <--元素类型转化,行内块元素,行内块元素可以设置宽高-->
     display:block将元素显示为块级元素
     display:inline将元素显示为行内元素
     }
 </styal>
 
 
<a href="">123</a>
<a href="">1235</a>

2.2ID选择器;类选择器

区别:

id是唯一的,一个id名只能用一次

class可以多次用

2.2.1id选择器

只能调用一次,别人切勿使用

#id值{}
例如:
先给标签起个id名字
<style>
 /* id选择器 */
#j1{
 width:200px;
 height:200px;
 }
 </style>
 
<img src="../0628/img/火山爆发.png" alt="" id="j2">

id和类命名规范:

1.不能是纯数字

2.也不能是数字开头

3.不能有#.

4.可以有-_

5.建议用英文,也可以用拼音

6.可以多个词组组合,eg:headr-left上边左边;main_nav;wrapCenterMain

2.2.2类选择器

口诀:样式点定义 结构类(class)调用 一个或多个 开发最常用

多重类名,命名规则

类名最好用英文或者全拼

中间加空格

eg:class=“ph1 big”

.类名{}
eg:
先给标签起类名
<style>
 /* 类选择器 */
.cj1{
    width:200px;
    height:200px;
    }
</style>
​
<img src="../0628/img/火山爆发.png" alt="" id="j1" class="cj1">

/* 宽高有效 */

<style>
 /* id选择器 */
#j1{
 width:200px;
 height:200px;
 }
 /* 类选择器 */
.cj1{
    width:200px;
    height:200px;
    }
</style>
​
​
<img src="../0628/img/火山爆发.png" alt="" id="j1" class="cj1">
            <!-- 可替换元素 -->
<img src="../0628/img/火山爆发.png" alt="" id="j2">
<img src="../0628/img/火山爆发.png" alt="" id="j3">
<img src="../0628/img/火山爆发.png" alt="" id="j4" class="cj1">

2.2.3通配符选择器*

选择所有的标签

* {
    margin: 0;
    padding: 0;
    cursor: pointer;
}

内外边距为0

2.3复合选择器

2.3.1后代选择器(重要)

A B

A B
通过标签之间的包含关系
中间用一个空格
eg:
<div id="box-1">
    <div class="lop1">1</div>
</div>
​
样式中写作:
#box .lop1{
background-color:red;
}

eg:

并集选择器

喜欢竖着写

A,B

A+B

跟在后边一个

A~B

跟在后边两个

子元素选择器

A>B

子代,亲儿子选择器

只选亲儿子,只选一个标签

交集选择器

A.classname

A:nth-child(a)

2.4伪类选择器

2.4.1结构伪类选择器

:first-child

有大儿子身份的,获取第一个子元素

 <style>
        div :first-child{
            color: aquamarine;
        }
    </style>
</head>
<body>
    <div>
        <div>老大</div>
        <div>老二</div>
        <div>老三</div>
    </div>
</body>
</html>

:last-child

获取最后一个元素

:nth-child(A)

选取某个元素的一个或者多个特定的子元素(A为几则选第几个)

在选择层级下第几个就是第几个,选中具体的第几个

<style>
        div span:nth-child(2){
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span>
    </div>
</body>
</html>

:nth-child(An+B)

使用数字(n从1开始),关键字(even偶数、odd奇数)或公式(2n-1)(n从0开始,当表达式的值小于等于0时,将不选择任何子元素)。

<style>
        div :nth-child(3n){
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span>
        <p>6</p>
        <p>7</p>
        <p>8</p>
        <p>9</p>
        <p>10</p>
    </div>
</body>
</html>

:nth-last-child(A)

选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始获取。可以使用数字(A从1开始)、关键字(even偶数、odd奇数)或公式(n从0开始)。n为几则选倒数第几个。

e:first-of-type

匹配同类型中的第一个同级兄弟元素e

e:last-of-type

匹配同类型中的最后一个同级兄弟元素e

e:nth-of-type(n)

匹配同类型中的第n个同级兄弟元素e

e:nth-last-of-type(n)

匹配同类型中的倒数第n个同级兄弟元素e

:nth-of-type(A)

匹配各类型中同种元素的第几个

在不同类别中标签的第几个

   <style>
        div :nth-of-type(3){
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <span>a</span>
        <span>b</span>
        <span>c</span>
        <span>d</span>
        <span>e</span>
        <p>1</p>
        <p>2</p>
        <p>3</p>
        <p>4</p>
        <p>5</p>
    </div>
</body>
</html>

:only-child

匹配只有一个子元素的父元素

什么中的独生子,有独生子身份的

 <style>
 <--交集选择器-->
        a:only-child{
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <a href="">老大家的老大</a>
    </div>
    <div>
        <a href="">老二家的老大</a>
        <a href="">老二家的老二</a>
    </div>
    <p>
        <a href="">老三家的老大</a>
        <!-- <a href="">老三家的老二</a> -->
    </p>
</body>
</html>

:only-of-type

匹配各类型中只有一个同种元素的元素,各种类型中的唯一。

各种类型中的唯一

 <style>
        body :only-of-type{
            font-size: 50px;
        }
    </style>
</head>
<body>
    <div>
        <a href="">老大家的老大</a>
        <a href="">老大家的老二</a>
    </div>
    <div>
        <a href="">老二家的老大</a>
    </div>
    <div>
        <a href="">老三家的老大</a>
        <a href="">老三家的老二</a>
    </div>
    <p>
        <a href="">老四家的老大</a>
        <!-- <a href="">老三家的老二</a> -->
    </p>
</body>
</html>

e:root

匹配文档的根元素,在html中根元素永远是html

html=:root

:empty

匹配没有任何子元素的元素(空格,回车等也算子元素)

空元素选择器

否定伪类选择器

e:not(X)

匹配所有不匹配简单选择符x的元素e

非选择器

li:first-child{}
否定》li:not(:first-child){}

属性选择器[attribute]

[属性]

具有属性的元素选取出来

div[属性]

div元素中具有该属性的选择出来

div[class=box1]

选择出class="box1"的div 完美匹配

div[class ~=box1]

选择出包含class="box1"的div。 包含就匹配

模糊匹配

class ^=b 以这个开头的

class $=b 以这个结尾的

class *=b 包含这个字符的

2.5伪元素选择器 ::befor/after 内容前/后

::befor/after

虚拟,模拟出来的一个选择器,给父级元素设置

模拟出一个选择器,元素

会影响结构

必写的5项:

 content: "";
/* 设置这个伪元素内部包含什么文本内容,此属性必须写 */
            display: block;
            height: 0;
            visibility: hidden;
            /* 隐藏元素,但不取消文档流位置 */
            clear: both;
            清除

链接伪类选择器

a:link /选择所有未被访问的链接/没有点击过的链接

a:visited 选择所有已被访问的链接,点击过的链接

a:hover 选择鼠标指针位于其上的链接

a:active 选择活动链接(鼠标按下未弹起的链接),点住变色

注意:

只要链接在网页中点击过一次a:link就失去作用,

按lvha,顺序写。a:hover 必须在 a:link 和 a:visited 之后。a:active 必须在 a:hover 之后,需要严格按顺序才能看到完整效果。

所以,写的时候顺序尽量不要颠倒,按照 l o v e h a t e来记忆

除了a标签外,div和p等标签也有hover状态。

因为a链接在浏览器中具有默认样式,所以在实际工作中都需要给链接单独指定样式。

目标伪类选择器 :target

描述:

被当作目标时元素会怎么样

当谁被点击时,我怎么样

当元素被作为目标url指向时的样式设置,使用超链接时依托于id

file:///D:/A-HTML/0720/代码/目标伪类选择器.html#tx

在网址后加 (#id名)

 <style>
        span:target{
        被当作目标时元素会怎么样
            color: blue;
            font-size: 30px;
            font-weight: 900;
​
        }
    </style>
​
    <a href="#tx">aaaa</a>
    <span id="tx">naov;nv,vMV</span>

状态伪类选择器 :checked

只针对能被选择的元素,input中的radio单选,checked复选,select下拉列表

处在被选中状态时后边的谁谁怎么样

  input,div{
            position: absolute;
        }
        input{
            height: 50px;width: 200px;
            z-index: 2;
            opacity: 0;
        }
        div{
            height: 50px;width: 200px;
            background-color: beige;
        }
        input:nth-child(1){
            top: 0;left: 0;
        }
        input:nth-child(2){
            top: 0;left: 200px;
        }
        input:nth-child(3){
            top: 0;left: 400px;
        }
        div:nth-child(4){
            top: 0;left: 0;
        }
        div:nth-child(5){
            top: 0;left: 200px;
        }
        div:nth-child(6){
            top: 0;left: 400px;
        }
        input:nth-child(1):checked~div:nth-child(4){
            background-color: blue;
        }
        input:nth-child(2):checked~div:nth-child(5){
            background-color: blue;
        }
        input:nth-child(3):checked~div:nth-child(6){
            background-color: blue;
        }
    </style>
​
    <input type="radio" name="aa">
    <input type="radio" name="aa">
    <input type="radio" name="aa">
    <div></div>
    <div></div>
    <div></div>

:focus伪类选择器

用于选取获得焦点的表单元素。当选中input输入框时变色

焦点就是光标,一般情况<input>表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input:focus{
background-color: yellow;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值