【CSS学习笔记2】-css复合选择器

发布于:2025-09-13 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.emmet语法

1.1快速生成html标签

提高html编写的速度

标签+tab:完整

标签*nu:生成多个

标签1>标签2:包含

标签1+标签2:并列

标签.类名:直接为标签加上类(默认div 可以直接写".类名"

标签#类名:直接为标签加上id

标签.类名$*数量:一次性生成多个排好序的标签 $自增

  	<div class="demo1"></div>
    <div class="demo2"></div>
    <div class="demo3"></div>
    <div class="demo4"></div>
    <div class="demo5"></div>

标签{文本} :div{中文}

<div>中文</div>
    <div>语文</div>
    <div>语文</div>
    <div>语文</div>
    <div>语文</div>
    <div>语文</div>

div{$}*5

<div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>

1.2快速生成css样式

样式缩写:每个字母的首字母

tac: text-align:center

ti:text-indent

w100:width:100px

2CSS复合选择器

简单选择器组合而成

复合选择器、子选择器、并集选择器、伪类选择器

2.2后代选择器(重要)

包含选择器 可以选择父元素中的子元素

元素1必须包含元素2

元素1 元素2 元素3...{ 样式 }

ol li {
            color: red;
        }
ol li a {
    color: pink;
}

如果想对同标签的 某一个标签中的标签修改样式,可以给这个标签单独加上 类 用类来修改样式

<ul class="one">
        <li>我是ul的孩子</li>
        <li>我是ul的孩子</li>
        <li>我是ul的孩子</li>
        <li><a href="#">ul链接</a></li>
        <li><a href="#">ul链接</a></li>
        <li><a href="#">ul链接</a></li>
        <li><a href="#">ul链接</a></li>
    </ul>

单独对这个列表中的a进行修改

.one li a {
            color: green; 
        }

2.3子选择器(重要)

只能选择某元素的最近一级的子元素,只能选亲儿子

元素1>元素2 { }

对于

<div class="nav">
        <a href="#">我是儿子</a>
        <p>
            <a href="#">我是孙子</a>
        </p>
    </div>

如果是后代选择器,则两个a可以修改样式

.nav a {
            color: blue;
        }

如果是子选择器,则只能选择儿子 用>号隔开

.nav>a {
            color: orange;
        }

2.4并集选择器(重要)

可以选择多组标签,定义为相同的样式,用于集体声明,任何选择器都可以作为并集选择器的一部分

元素1,元素2 { 样式} 竖着写

对于

<div>熊大</div>
    <p>熊二</p>
    <span>光头强</span>
    <ul class="pig">
        <li>小猪佩奇</li>
        <li>乔治</li>
        <li>小猪妈妈/li>
    </ul>

把熊大熊二改为粉色

div,
p { 
            color: pink;
        }

把熊大熊二改为粉色 小猪一家改为绿色

div,
       p,
       .pig li { 
            color: pink;
        }

2.5伪类选择器

语法

selector:pseudo-class {
  property: value;
}

用于向某些选择器添加特殊的效果,比如给链接添加特殊效果。 (例如经过链接的时候颜色变化

伪链接选择器(锚伪类

a:link /*选择未被访问的链接
a:vitisted 访问过的
a:hover 鼠标经过
a:active/*选择活动链接,鼠标按下未松开

这几个伪类选择器不能交换顺序LVHA

开发中链接会单独指定样式

一般开发中只会用到hover

a {
    color:gray;
}
a:hover {
  color:red;
}

2.6:focus 伪类选择器

用于选取获得焦点的表单元素 ,也就是鼠标点击之后的样式

焦点就是光标,一版input类表单元素才能获取

总结

3.CSS元素显示模式

更好的布局页面

html元素:块元素、行内元素

3.1html块元素

<h1> <p> <div> <ul> <ol> <li>

特点是图占一行、高度宽度边距都可以控制、宽度默认是容器的100%、是一个容器及盒子 可以放行内元素或者块级元素

文字元素内不能放块元素(盒子)

3.2行内元素

<a> <strong> <b> <em> <i> <del> <s> <ins> <u> <span>

相邻元素 在一行 一行可以显示多个、高宽设置无效、默认u暗渡是他本身的宽度、行内元素只能容纳文本或其他行内元素

链接之内不能放链接 a中可以放块元素

3.3行内块元素

<img /> <input /> <td />

同时具有块元素和行内元素的特点

一行可以有多个、默认宽度、高度宽度边距都可以控制

3.4ccs元素显示模式转换

转化为块元素 display:block;

转化为行内元素 display:inline;

转化为行内块元素 display: line-block

这里是把链接a转化为了块元素

<style>
        a {
            /* 转化为块元素 */
            display: block;
            width: 100px;
            height: 100px;
            background-color: pink;
        }
    </style>
div {
            /* 转化为行内元素 */
            display: inline;
            background-color: lightblue;
            /* 这里长宽失效 */
            width: 100px;
            height: 100px;
        }

4css背景

4.1背景图片

实际开发中logo 或者装饰性的小图片 、超大背景图片等 优点是非常便于控制位置

width: 500px;

height: 300px;

/* 背景图片 默认情况下背景平铺 */

background-image: url(image.png);

/* 背景不平铺 */

background-repeat: no-repeat;

/* 沿x轴平铺 */

background-repeat: repeat-x;

/* 沿y轴平铺 */

background-repeat: repeat-y;

/* 可以设置颜色 但是图片会盖住颜色 */

background-color: aqua;

/* 背景图片的位置 如果只确定了一个参数 那么另一个方向则默认是居中的*/

background-position: center right;

4.2背景位置

方位名词前后顺序随意

精确单位 第一个是x坐标、第二个是y坐标(距离左边、顶部的距离,另:如果只指定一个值则是x值 y值默认居中

也可以混合使用

background-position: center top;

background-position: center 20px; x轴居中、y轴距离顶部 20像素

4.3背景图像固定

background-attachment: fixed;

4.4背景复合写法

background: 颜色、地址、平铺、图像滚动、位置

background: black url(bg-63580614.jpg) no-repeat fixed  top;

4.5背景色半透明

background:rgba(0,0,0,0.3);最后一项是透明度

5案例-五彩导航