CSS 基础(中)

简介: CSS 基础(中)

四、复合选择器 ( 重要 )



1. 后代选择器


元素1 元素2 {
  设置样式  
}


注意:


① 只对元素2 进行设置样式,不影响元素1

② 元素1 是父级,元素2 可以是子级,或孙子级,或重孙子级…

③ 元素1 和 元素2 可以是标签选择器、类选择器、id 选择器…


展示1


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo8</title>
    <style>
        ul p{
            color: red;
        }
        .aaa li {
            color: green;
        }
    </style>
</head>
<body>
    <ul>
        <li>卡布达</li>
        <li>卡布达</li>
        <li>
            <p>呱呱蛙</p>
        </li>
    </ul>
    <ol class="aaa">
        <li>呱呱蛙</li>
        <li>呱呱蛙</li>
        <li>呱呱蛙</li>
    </ol>
</body>
</html>


展示结果:


cbf64ae4178047fdb1ac89c198e4c41b.png


2. 子选择器


元素1>元素2 {
  设置样式  
}


注意:


① 元素2 只能是 元素1 的子级,不能是元素1 的孙子级…也就是说,两者只能选择并列的一级关系,不能跳级。

② 其他的语法和后代选择器相似。


展示1


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo9</title>
    <style>
        ul>li>p {
            color: green;
        }
        ol>div {
            color: green;
        }
    </style> 
</head>
<body>
    <ul class="bbb">
        <li>卡布达</li>
        <li>卡布达</li>
        <li>
            <p>呱呱蛙</p>
        </li>
    </ul>
    <ol class="aaa">
        <li>呱呱蛙</li>
        <li>呱呱蛙</li>
        <li>
            <div>呱呱蛙</div>
        </li>
    </ol>
</body>
</html>


展示结果:


548e0fed41594b0da9455617e078a531.png


展示2


将卡布达改成红色


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo11</title>
    <style>
        .bbb>a {
            color: red;
        }
    </style>
</head>
<body>
    <div class="bbb">
        <a href="#">卡布达</a>
        <ul>
        <li><a href="#">金龟次郎</a></li>
        <li><a href="#">金龟次郎</a></li>
        </ul>
        </div>
</body>
</html>


展示结果:


e40bdf208ad34c8d96a1db6a0809709c.png


注意


不管是使用后代选择器还是子选择器,最好通过逐级的方式来设置样式,因为这样更加清楚。如果跳级,在代码量少的情况下当然也可以做到,但在代码量多的情况下容易混淆。


3. 并集选择器


元素1, 元素2 {
  设置样式  
}


元素1 和 元素2 可以是基础选择器,亦可以是复合选择器。


展示1


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo12</title>
    <style>
        p,div,ol>li>div {
            color: red;
        }
    </style>
</head>
<body>
    <p>卡布达</p>
    <div>呱呱蛙</div>
    <ol>
        <li>车轮滚滚</li>
        <li>车轮滚滚</li>
        <li>
            <div>车轮滚滚</div>
        </li>
    </ol>
</body>
</html>


展示效果:


5a92a95ff4d34841baefe4cb2fd1af5b.png


5. 伪类选择器


(1) 链接伪类选择器


a:link       未被访问过的链接
a:visited    已经被访问过的链接
a:hover    鼠标指针悬停上的链接
a:active   活动链接(鼠标长按链接了但是未弹起)


展示


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo13</title>
    <style>
        a {
            font-size: 30px;
        }
        a:link {
            color: black;
        }
        a:visited {
            color: green;
        }
        a:hover {
            color: red;
        }
        a:active {
            color: gray;
        }
    </style>
</head>
<body>
    <a href="https://www.sogou.com/" target="_blank">点击访问搜狗</a>
</body>
</html>


展示结果:


98ca841a23854cc58915d39cd05189eb.png


(2) 焦点伪类选择器


input:focus {
  设置样式
}


展示


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo14</title>
    <style>
        div>input {
            font-size: 30px;
        }
        input:focus {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <input type="text">
        <input type="text">
        <input type="text">
    </div>
</body>
</html>


只有在某个文本框输入的时候,当前才会具有红色并放大的效果。


展示结果:


801f6c2bc2444dc7ad4d1e831f878c52.png


五、字体属性



展示1 字体样式


font-family: '宋体';
font-family: '微软雅黑';
...
...


字体样式建议使用大众用户常见的字体,这样就会更加兼容。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo15</title>
    <style>
        body>.aaa{
             font-family: '宋体';
        }
        body>.bbb{
            font-family: '微软雅黑';
        }
    </style>
</head>
<body>
    <div class="aaa">卡布达</div>
    <div class="bbb">卡布达</div>
</body>
</html>


展示结果:


2c785c1acf6f4bcc92e406f69f9c9662.png


展示2 字体大小


字体大小在前面的代码中有提到,这里不再赘述,使用 font-size.


展示3 字体粗细


font-weight:
bold / normal (常用)


和字体大小一样,字体粗细可以使用数值表示,也可以使用英文字母代替值。

常用的是


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo16</title>
    <style>
        .aaa {
            font-weight: bold;
        }
        .bbb {
            font-weight: normal;
        }
    </style>
</head>
<body>
    <div class="aaa">卡布达</div>
    <div class="bbb">卡布达</div>
</body>
</html>


展示结果:


933ffdb87fc94020922880c4845f700b.png


展示4 字体倾斜


font-style: 
normal / italic


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo17</title>
    <style>
        .aaa {
            font-style: normal;
        }
        .bbb {
            font-style: italic;
        }
        .ccc>em {
            font-style: normal;
        }
    </style>
</head>
<body>
    <div class="aaa">卡布达</div><br/>
    <div class="bbb">呱呱蛙</div><br/>
    <div class="ccc">
        <em>飞翔机器人</em>
    </div>
</body>
</html>

将 font-style 设置成 normal,这可以将 html 中的 em 标签消除倾斜效果 ( 因为在 html 的语法中,em 标签就是表示倾斜的意思 )


展示结果:


ed6902cc68ff4e92b5d37e428aa637cd.png


六、文本颜色



认识 RGB


在 CSS 中,理解 RGB 十分关键。


RGB:Red, Green, Blue.
光学三原色(RGB):红、绿、蓝


颜料三原色(CMYK):红、黄、蓝


① 毋庸置疑,CSS 采用的是光学三原色,而不是颜料三原色。


② CSS 中,针对 R, G, B 三个分量,各使用一个字节表示 (8个比特位,表示的范围是 0 - 255,十六进制表示为 00 - FF)


③ 数值越大,表示该分量的颜色就越浓。( 255, 255, 255 ) 表示白色,( 0, 0, 0 ) 表示黑色。


展示1


针对 color 这个属性,我们可以使用以下几种设置颜色的方法:


① 通过 rgb 设置颜色

② 通过 指定英文 设置颜色

③ 通过 调色板 设置颜色

④ 通过 十六进制 设置颜色


在上面的四种用法中,rgb 的用法是较为广泛的。因为我们使用 CSS 的最终目的是为了让页面好看,可能大多时候,需要美工事先设计好,我们再根据 rgb 的三个要素往里填。


而关于 rgb 的三个要素,小伙伴可以自己使用 VS Code 或 IDEA 这样的编译器试一试调配的结果,还是很有意思的。在日常使用的 QQ截图 中,当我们使用鼠标在扫描的过程中,就精准地出现了 rgb 这三个要素值。


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo18</title>
    <style>
        .aaa {
            color: rgb(255, 0, 0);
        }
        .bbb {
            color: green;
        }
        .ccc {
            color: #0000ff;
        }
    </style>
</head>
<body>
    <div class="aaa">卡布达</div> <br/>
    <div class="bbb">金龟次郎</div> <br/>
    <div class="ccc">蟑螂恶霸</div> 
</body>
</html>


展示结果:


d80d3ffdddb74a389c093f8ad2ceb9dd.png


展示2


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>demo18</title>
    <style>
        .bbb {
            font-size: 30px;
            color: rgb(42, 107, 205);
            background-color: rgba(255, 0, 0, 0.2);
        }
    </style>
</head>
<body>
    <div class="bbb">卡布达</div>
</body>
</html>


① rgba 中的 a:alpha,第四位,即透明度的意思,范围为:0 - 1.

② 0 为全透明;1 为不透明。

③ rgb 和 rgba 的用法相似,支持设置的方法有很多。


展示结果:


af41e6b14e4a46ca87e4fd8bc60ee8bb.png



目录
相关文章
|
前端开发
实验:CSS+Div基础 - 预习报告
网页设计技术实验预习报告。
299 1
实验:CSS+Div基础 - 预习报告
|
Web App开发 前端开发 Windows
CSS基础1 | 青训营笔记
本期作为复习CSS的笔记,比较基础。当然即便最基础的东西也欢迎各路高手指点,以防地基不稳大厦崩塌hhh
CSS基础1 | 青训营笔记
|
前端开发 JavaScript 容器
通俗重制系列--CSS基础
通俗重制系列--CSS基础
134 0
|
前端开发 JavaScript Java
计算机二级web题目(4)--CSS基础
计算机二级web题目(4)--CSS基础
176 1
|
前端开发
CSS基础之选择器
总所周知,css可以为网页设置多种多样的样式,那怎么样可以精确为每一个html标签设置相应的样式呢?
|
前端开发 人机交互
Web开发及人机交互导论 实验三 CSS+DIV基础
Web开发及人机交互导论 实验三 CSS+DIV基础
183 0
Web开发及人机交互导论 实验三 CSS+DIV基础
|
前端开发
CSS基础-塌陷及定位
clear:right; 右侧不允许有浮动元素
129 0
|
前端开发
CSS 基础(下)
CSS 基础(下)
80 0
CSS 基础(下)
|
缓存 前端开发 JavaScript
CSS 基础(上)
CSS 基础(上)
142 0
CSS 基础(上)

热门文章

最新文章