Web前端一套全部清晰 ⑧ day5 CSS.3 选择器、PxCook软件、盒子模型

news2024/11/28 18:43:21

谁不是一路荆棘而过呢

                           —— 24.5.12

CSS.3 选择器、PxCook软件、盒子模型

一、选择器

1.结构伪类选择器

1.作用:

        根据元素的结构关系查找元素。

选择器                        说明
E:first-child        查找第一个 E元素
E:last-child        查找最后一个E元素
E:nth-child(N)    查找第 N 个E元素(第一个元素 N 值为1)

2.示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>结构伪类选择器</title>
    <style>
        /* 第一个 first-child */
        li:first-child{
            background-color: green;
        }
        /* 最后一个 last-child */
        li:last-child{
            background-color: gray;
        }
        /* 任意个 nth-child */
        li:nth-child(3){
            background-color: grey;
        }
    </style>
</head>
<body>
    <ul>
        <li>li 1</li>
        <li>li 2</li>
        <li>li 3</li>
        <li>li 4</li>
        <li>li 5</li>
        <li>li 6</li>
        <li>li 7</li>
        <li>li 8</li>
    </ul>
</body>
</html>

3.:nth-child(公式)

作用:

        根据元素的结构关系查找多个元素。

           功能                             公式

        偶数标签                          2n                       

        奇数标签                          2n+1:2n-1
        找到5的倍数的标签         5n
        找到第5个以后的标签     n+5
        找到第5个以前的标签    -n+5

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>结构伪类选择器-公式用法</title>
    <style>
        /* 偶数标签 */
        li:nth-child(2n){
            background-color: blue;
        }
        /* 奇数标签 */
        li:nth-child(2n-1){
            background-color: red;
        }
        /* 5的倍数 */
        li:nth-child(5n){
            background-color: green;
        }
        /* 9以后的标签 */
        li:nth-child(n+9){
            background-color: yellow;
        }
        /* 2以前的标签 */
        li:nth-child(-n+2){
            background-color: orange;
        }

    </style>
</head>
<body>
    <ul>
        <li>li 1</li>
        <li>li 2</li>
        <li>li 3</li>
        <li>li 4</li>
        <li>li 5</li>
        <li>li 6</li>
        <li>li 7</li>
        <li>li 8</li>
        <li>li 9</li>
        <li>li 10</li>
    </ul>
</body>
</html>

2.伪元素选择器

1.作用:

        创建虚拟元素(伪元素),用来摆放装饰性的内容。

   选择器                                说明
E::before                在E元素里面最前面添加一个伪元素
E..after                   在E元素里面最后面添加一个伪元素

2.注意点:

        ① 必须设置content:"  "属性,用来 设置伪元素的内容如果没有内容,则引号留空即可        
        ② 伪元素默认是行内显示模式
        ③ 权重标签选择器相同

3.示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>伪元素选择器</title>
    <style>
        div{
            width:300px;
            height:300px;
            background-color: pink;
        }

        /* before创建出的显示模式是行内的 before是在div标签的前面 */
        /* content属性不写,伪元素不生效 */
        div::before{
            content: "老鼠";

            width: 100px;
            height: 100px;
            background-color: brown;
            display: block;
        }
        /* after创建出的显示模式是行内的 after是在div标签的后面 必须要写content属性 */
        div::after{
            width: 100px;
            height: 100px;
            background-color: orange;
            content: "大米";
            display: block;
        }
    </style>

</head>
<body>
    <!-- 标签内容:老鼠爱大米 -->
    <div>爱</div>
</body>
</html>

二、PxCook像素大厨

PxCook(像素大厨)是一款切图设计工具软件。支持PSD文件(设计稿)的文字、颜色、距离自动智能识别。
开发面板(自动智能识别)
设计面板(手动测量尺寸和颜色)

设计模式和开发模式进行测量尺寸

⭐三、盒子模型

1.作用:

        布局网页,摆放盒子和内容

2.盒子模型 - 组成

        盒子模型重要组成部分:
                内容区域 — width & height
                内边距 — padding(出现在内容与盒子边缘之间)
                边框线 — border
                外边距 — margin(出现在盒子外面)

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型—组成</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /* 内边距 内容与盒子边缘之间 */
            padding: 20px;
            /* 边框线 */
            border:3px solid #000;
            /* 外边距 出现在盒子外面,拉开两个盒子的距离 */
            margin: 45px;
        }
    </style>
</head>
<body>
    <div> div 标签 </div>
</body>
</html>

3.盒子模型 - 边框线

属性名:

        border(bd)

属性值:

        边框线粗细 线条样式 颜色(不区分顺序)

常用线条样式

属性值                线条样式
solid                       实线
dashed                  虚线
dotted                    点线

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型-边框线</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 实线 */
            border: 1px solid #000;
            /* 虚线 */
            border: 2px dashed darkcyan;
            /* 点线 */
            border: 3px dotted darkgray;
        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>

示例:

4.设置单方向边框线

属性名:

        border-方位名词(bd+方位名词首字母,例如,bdl)

        方位名词:top、right、bottom、left

属性值:

        边框线粗细 线条样式 颜色(区分顺序)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型-单方向边框线</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;
            /* 上边框线 */
            border-top: 1px solid #000;
            /* 左边框线 */
            border-left: 3px dashed red;
            /* 右边框线 */
            border-right: 2px solid blue;
            /* 下边框线 */
            border-bottom: 1px solid green;
        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型-内边距</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 上边距 */
            padding-top: 30px;
            /* 内边距 */
            padding: 20px;

        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>

5.盒子模型 - 内边距

作用:

        设置 内容 盒子边缘 之间的距离

属性名:

        padding / padding-方位名词

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型-内边距</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 上边距 */
            padding-top: 30px;
            /* 内边距 */
            padding: 20px;

        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>

6.盒子模型 - 内边距 - 多值写法

        padding 多值写法

取值个数                      示例                                                        含义
一个值                 padding:10px;                                 四个方向内边距均为10px
四个值         padding:10px 20px 40px80px;       上:10px;右:20px;下:40px;左:80px
三个值           padding:10px 40px 80px;                     上:10px;左右:40px;下:80px
两个值              padding:10px 80px;                           上下:10px;左右:80px
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子模型 - padding多值写法</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* padding的多值写法 四值写法 上右下左 从上开始顺时针循环 */
            padding: 10px 20px 40px 80px;

            /* padding的多值写法 三值写法 上 左右 下 左右相同 */
            padding: 10px 40px 80px;

            /* padding的多值写法 两值写法 先上下 再左右 */
            padding: 20px 40px;
        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>


7.盒子模型 - 尺寸计算

默认情况

盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸

结论:

        给盒子加 border / padding 撑大盒子

解决

        手动做减法,减掉 border/padding 的尺寸

        内减模式:box-sizing:border-box

8.盒子模型 - 外边距

作用:

        拉开两个盒子之间的距离

属性名:

        margin

提示:

        与 padding 属性值写法、含义相同

示例:

9.盒子模型 - 版心居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>版心居中案例</title>
    <style>
        /* 版心居中要求:盒子需要有宽度 */
        div{
            width: 1000px;
            height: 200px;
            background-color: pink;
            /* 上下外边距是0 左右外边距是auto中心 */
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <div>div 标签</div>
</body>
</html>

清除默认样式

        清除标签默认的样式,比如:默认的内外边距。工作中一般先清除这些默认的标签,再根据工作稿的数值进行分析

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>清除默认样式</title>
    <style>
        *{
            margin: 0;
            padding: 0;
            /* 选中了所有标签启动内减模式 */
            box-sizing: border-box;
        }

        /* 去除列表的项目符号 none */
        li{
            list-style: none;
        }
    </style>
</head>
<body>
    <h1>h1 标签</h1>
    <p>pppppp</p>
    <ul>
        <li>
            li
        </li>
    </ul>
</body>
</html>

10.盒子模型 - 元素溢出

作用:

        控制溢出元素的内容显示方式

属性名:

        overflow

属性值

 属性值                                                        效果
hidden                                                    溢出隐藏
scroll                                溢出滚动(无论是否溢出,都显示滚动条位置)
auto                                        溢出滚动(溢出才显示滚动条位置)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素溢出</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div>
        文字内容测试溢出显示方式文字内容测试潜出显示方式
        文字内容测试溢出显示方式文字内容测试滥出显示方式
        文字内容测试滥出显示方式文字内容测试溢出显示方式
        文字内容测试溢由显示方式文字内容测试溢出最示方式
        文字内容测试溢出显示方式文字内容测试滥出显示方式
        文字内容测试滥出显示方式文字内容测试溢出显示方式
        文字内容测试滥出显示方式文字内容测试滥出显示方式
        文字内容测试溢出显示方式文字内容测试溢出显示方式
        文字内容测试滥出显示方式文字内容测试滥出显示方式
    </div>
</body>
</html>

hidden
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;
            /* hidden超出盒子集合的隐藏 */
            overflow: hidden;
        }
    </style>

scroll
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* scroll文字滚动条效果 横竖都有滚动条 */
            overflow: scroll;
        }
    </style>

auto
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>元素溢出</title>
    <style>
        div{
            width: 200px;
            height: 200px;
            background-color: pink;

            /* 内容溢出才有滚动条,不溢出不会产生滚动条 */
            overflow: auto;
        }
    </style>
</head>
<body>
    <div>
        文字内容测试溢出显示方式文字内容测试潜出显示方式
        文字内容测试溢出显示方式文字内容测试滥出显示方式
        文字内容测试滥出显示方式文字内容测试溢出显示方式
        文字内容测试溢由显示方式文字内容测试溢出最示方式
        文字内容测试溢出显示方式文字内容测试滥出显示方式
        文字内容测试滥出显示方式文字内容测试溢出显示方式
        文字内容测试滥出显示方式文字内容测试滥出显示方式
        文字内容测试溢出显示方式文字内容测试溢出显示方式
        文字内容测试滥出显示方式文字内容测试滥出显示方式
    </div>
</body>
</html>

11.外边距问题 - 合并现象

场景:

        垂直排列的兄弟元素,上下 margin 会合并

现象:

        取两个 margin 中的较大值生效

外边距问题-塌陷问题

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距-合并现象</title>
    <style>
        .one{
            width: 100px;
            height: 100px;
            background-color: brown;
            /* 产生间距 */
            margin-bottom: 20px;
        }

        .two{
            width: 100px;
            height: 100px;
            background-color: orange;

            /* 产生间距 两个盒子间距只取一个较大值 */
            margin-top: 50px;
        }
    </style>
</head>
<body>
    <div class="one">one</div>
    <div class="two">two</div>
</body>
</html>

12.外边距 - 塌陷问题

场景:

        父子级的标签,子级的添加 上外边距 margin-top 会产生塌陷问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距-塌陷问题</title>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
        }

        .son{
            width: 100px;
            height: 100px;
            background-color: orange;
            margin-top:50px ;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">son</div>
    </div>
</body>
</html>

现象:

        导致父级一起向下移动

解决方法:

        ① 取消级margin,父级设置padding

         级设置 overflow: hidden

        ③ 级设置 border-top

示例:

        ① 取消级margin,父级设置padding

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距-塌陷问题</title>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
            /* 取消子级margin,父级设置padding */
            padding-top: 50px;
            box-sizing: border-box;
        }

        .son{
            width: 100px;
            height: 100px;
            background-color: orange;

            /* 取消子级margin,父级设置padding */
            /* margin-top:50px ; */
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">son</div>
    </div>
</body>
</html>

         级设置 overflow: hidden

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距-塌陷问题</title>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
            /* 1.取消子级margin,父级设置padding */
            /* padding-top: 50px;
            box-sizing: border-box; */

            /* 2. 父级设置 overflow: hidden */
            overflow: hidden;
        }

        .son{
            width: 100px;
            height: 100px;
            background-color: orange;

            /* 1.取消子级margin,父级设置padding */
            margin-top:50px ;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">son</div>
    </div>
</body>
</html>

        ③ 级设置 border-top

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>外边距-塌陷问题</title>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
            /* 1. 取消子级margin,父级设置padding */
            /* padding-top: 50px;
            box-sizing: border-box; */

            /* 2. 父级设置 overflow: hidden */
            /* overflow: hidden; */

            /* 3. 父级设置 border-top */
            border-top: 1px solid #000;
        }

        .son{
            width: 100px;
            height: 100px;
            background-color: orange;

            /* 1.取消子级margin,父级设置padding */
            margin-top:50px ;
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son">son</div>
    </div>
</body>
</html>
    <style>
        .father{
            width: 300px;
            height: 300px;
            background-color: pink;
            /* 1. 取消子级margin,父级设置padding */
            /* padding-top: 50px;
            box-sizing: border-box; */

            /* 2. 父级设置 overflow: hidden */
            /* overflow: hidden; */

            /* 3. 父级设置 border-top */
            border-top: 1px solid #000;
        }

        .son{
            width: 100px;
            height: 100px;
            background-color: orange;

            /* 1.取消子级margin,父级设置padding */
            margin-top:50px ;
        }
    </style>

13.行内元素-内外边距问题

场景:

        行内元素添加 margin padding无法改变元素垂直位置

解决方法:

        给行内元素添加 line-height 可以改变垂直位置

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>行内元素的垂直内外边距</title>
    <style>
        span{
            /* margin padding属性不影响垂直位置,只影响水平位置的变化 */
            margin: 50px;
            padding: 20px;
            line-height: 100px;
        }
    </style>
</head>
<body>
    <span>span标签</span>
    <span>span标签</span>
</body>
</html>

14.盒子模型 - 圆角

作用:

        设置元素的外边框为圆角。

属性名:

        border-radius

属性值:

        数字+px/百分比

        提示:属性值是圆角半径

        圆角效果 属性值写多个代表各个边不同 从左上顺时针旋转 如果没有取值的和对角属性相同 

        两值写法 左上+右下 右上+左下        

        三值写法 左上 右上+左下 右下

        四值写法:左上 右上 左下 右下

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>圆角-基本使用</title>
    <style>
        div{
            /* 上下是50px,左右是auto 居中效果 */
            margin: 50px auto;
            width: 200px;
            height: 200px;
            background-color: orange;

            /* 圆角效果 属性值写多个代表各个边不同 从左上顺时针旋转 如果没有取值的和对角属性相同 */
            border-radius: 30px;
            /* 两值写法 左上+右下 右上+左下 */
            border-radius: 30px 70px;
            /* 三值写法 左上 右上+左下 右下 */
            border-radius: 10px 20px 30px;
            /* 四值写法:左上 右上 左下 右下 */
            border-radius: 45px,20px,30px,10px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

常见应用 — 正圆形状

        给正方形盒子设置圆角属性值为 宽高的一般 / 50%

                

常见应用 — 胶囊形状

        给长方形盒子设置圆角属性值为 盒子高度的一半        

                

示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>圆角-特殊场景</title>
    <style>
        img{
            width: 200px;
            height: 200px;
            /* 圆角属性 宽高的一半 必须在正方形内才行 百分比取值越小 头像就越不圆 */
            /* border-radius: 100px; */
            /* 圆角属性最大值取值是50% */
            border-radius: 50%;
        }

        div{
            width: 200px;
            height: 80px;
            background-color: orange;
            
            /* 胶囊状态的按钮 */
            border-radius:40px ;
        }
    </style>
</head>
<body>
    <!-- 正圆形 头像 -->
    <img src="./头像.jpg" alt="">

    <!-- 胶囊形状 -->
    <div></div>
</body>
</html>

15.盒子模型 - 阴影(拓展)

作用:

        给元素设置阴影效果

属性名:

        box-shadow

属性值:

        x轴偏移量 γ轴偏移量 模糊半径 扩散半径 颜色 内外阴影

注意:

        X轴偏移量 和Y轴偏移量 必须书写

        默认是外阴影,内阴影需要添加inset

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>盒子阴影</title>
    <style>
        div{
            margin: 50px auto;
            width: 200px;
            height: 80px;
            background-color: orange;
            /* box-shadow 阴影属性 */
            box-shadow: 3px 5px 11px 1px rgba(0, 0, 0,0.5);
            /* inset 内阴影 */
            /* box-shadow: 3px 5px 11px 1px rgba(0, 0, 0,0.5) inset;*/
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

四、综合案例

1.综合案例一 产品卡片

         CSS 书写顺序:

                1.盒子模型属性
                2.文字样式
                3.圆角、阴影等修饰属性

        像素大厨创建项目

像素大厨设计图片

代码实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>产品卡片</title>
    <style>
        *{
            /* 清除默认内外边距 */
            margin: 0%;
            padding: 0%;
            /* padding border会撑大盒子,设置内减模式 不会撑大盒子 */
            box-sizing: border-box;
        }

        body{
            background-color: #f1f1f1;
        }

        .product{
            margin:50px auto;
            padding-top: 38px;
            width: 253px;
            height: 236px;
            background-color: #fff;
            /* 文字居中 */
            text-align: center;
            /* 圆角效果 */
            border-radius: 10px;
        }

        .product h4{
            margin-top: 21px;
            margin-bottom: 15px;
            color: #50595d;
            font-size: 15px;
            font-weight: 400;
        }

        .product p{
            font-size: 12px;
            color: #545c5f;
        }
    </style>
</head>
<body>
    <div class="product">
        <img src="./liveSDK.svg" alt="">
        <h4>抖音直播SDK</h4>
        <p>包含抖音直播看播功能</p>
    </div>
</body>
</html>

运行结果

开发细节

        在工作中写CSS属性最好先写盒子模型的、再写文字的属性、最后写圆角阴影等等修饰性属性,这样可以提高浏览器渲染页面的效率

2.综合案例二 新闻列表

像素大厨设计图片

代码实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>新闻列表</title>
    <style>
        *{
            /* 清除默认样式 */
            margin: 0%;
            padding: 0%;
            /* 启动内减模式 */
            box-sizing: border-box;
        }

        li{
            /* 清除列表的项目符号 */
            list-style: none;
        }

        a{
            /* 清除超链接下划线 */
            text-decoration: none;
        }

        /* 新闻整体布局 */
        .news{
            /* 版心居中效果 */
            margin: 100px auto;
            /* 宽度 */
            width: 359px;
            /* 高度 */
            height: 193px;
        }

        /* 新闻标题布局 */
        .news .hd {
            height: 34px;
            /* 背景颜色 */
            background-color: #eee;
            /* 描边颜色 */
            border: 1px solid #dbdee1;
            /* 删去左边区域线 */
            border-left: 0;
        }

        /* 新闻两个字的背景框 */
        .news .hd a{
            /* 为了让盒子压住模块 盒子向上移动 超链接标签上移 */
            margin-top: -1px;
           
            /* 超链接是行内特效,要先转为块级元素 */
            display: block;
            border-top: 3px solid #ff8400;
           
            /* 新闻两个字的右边框 */
            border-right: 1px solid #dbdee1;
            width: 48px;
            height: 34px;
            background-color: #fff;

            /* 将超链接文字位置下移 */
            text-align: center;
            line-height: 34px;

            /* 超链接文字大小 */
            font-style: 14px;
            /* 超链接文字颜色 */
            color: #333;
        }

        .news .bd{
            /* 加内边距 */
            padding: 6px;
        }

        /* li的背景 */
        .news .bd li{
            /* 加左边距 */
            padding-left: 15px;
            /* li中设置背景 */
            background-image: url(./images/square.png);
            background-repeat: no-repeat;
            background-position: 0 center;
        }

        /* a的背景 */
        .news .bd li a{
            background: url(./images/img.gif) no-repeat 0 center;
            padding-left: 20px;

            font-size: 12px;
            color: #666;
            /* 设置文字间隔 */
            line-height: 24px;
        }

        /* 新闻区域鼠标悬停效果 */
        .news .bd li a:hover{
            color: #ff8400;
        }
    </style>
</head>
<body>
    <!-- 新闻区域 包含:标题+内容 news作新闻整体布局 -->
    <div class="news">
        <div class="hd"><a href="#">新闻</a></div>
        <div class="bd">
            <ul>
                <li><a href="#">点赞“新农人” 温暖的伸手</a></li>
                <li><a href="#">在希望的田野上…</a></li>
                <li><a href="#">"中国天眼”又有新发现 已在《自然》杂志发表</a></li>
                <li><a href="#">急!这个领域,缺人!月新4万元还不好招!啥情况?</a></li>
                <li><a href="#">G9“带货”背后:亏损面持续扩大,竟争环境激烈</a></li>
                <li><a href="#">多地力推二手房“带押过户"有什么好处?</a></li>
            </ul>
        </div>
    </div>
</body>
</html>

运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1668342.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构·一篇搞定栈!

好久不见&#xff0c;超级想念 废话不多说&#xff0c;直接看 引言 在数据结构的大家族中&#xff0c;栈&#xff08;Stack&#xff09;是一种非常重要的线性数据结构&#xff0c;它的特点是后进先出&#xff08;LIFO&#xff0c;Last In First Out&#xff09;。栈在程序设…

docker八大架构之单机架构

单机架构 什么是单机架构&#xff1f; 单机架构指的是应用服务和数据库服务公用同一台服务器。如下边两个图所示&#xff0c;当我们进行购物时&#xff0c;所有的物品信息和用户信息都是在同一个服务器下进行运行的&#xff0c;之所以称为单机架构就是因为它所有的操作是在同…

【AMBA Bus ACE 总线10 -- ACE Barrier transaction 详细介绍】

请阅读【AMBA Bus ACE 总线与Cache 专栏 】 欢迎学习:【嵌入式开发学习必备专栏】 文章目录 ACE AxBARAxBAR[1:0]的值及含义屏障的用途和重要性ACE AxBAR 用于表明是否是一个barrier 的transaction,对于它我们只需要有个简单的了解即可,现在已经不建议在transaction的层面上…

Unity VR在编辑器下开启Quest3透视(PassThrough)功能

现在有个需求是PC端串流在某些特定时候需要开启透视。我研究了两天发现一些坑,记录一下方便查阅,也给没踩坑的朋友一些思路方案。 先说结论,如果要打PC端或者在Unity编辑器中开启,那么OpenXR当前是不行的可能还需要一个长期的过程,必须需要切换到Oculus。当然Unity官方指…

异常处理/ROS2异常处理模块源码解读与浅析

文章目录 概述ros2/rcutils/src/error_handling模块自身异常处理错误状态结构与存储本模块初始化错误状态的设置错误状态的获取错误状态的清理不丢失旧错误状态把手段还原为目的其他 概述 本文从如下几个方面对 ROS2.0 中 rcutils 库 error_handling 错误处理模块的源码进行解…

整理好的中债国债3年期到期收益率数据集(2002-2023年)

01、数据简介 国债&#xff0c;又称国家公债&#xff0c;是由国家发行的债券&#xff0c;是中央ZF为筹集CZ资金而发行的一种ZF债券&#xff0c;是中央ZF向投资者出具的、承诺在一定时期支付利息和到期偿还本金的债权债务凭证。 中债&#xff0c;是指由中国中债登记结算有限责…

报表-接口类型的数据源

1、配置 在数据中进行如下配置 配置格式&#xff0c;换行的方式 #API $.data[0].children http://192.168.1.1:9200/apis/getInfo 行1&#xff1a;固定写法&#xff0c;标识这是一个接口类型的数据集 行2&#xff1a;JSONPath格式字符串&#xff0c;对接口的数据进行取值。…

轮转数组 与 消失的数字

轮转数组 思路一 创建一个新内存空间&#xff0c;将需轮转的数依次放入&#xff0c;之后在把其它数放入 代码&#xff1a; void rotate(int* nums, int numsSize, int k) {k k % numsSize;// 确定有效的旋转次数if(k 0)return;int* newnums (int*)malloc(sizeof(int) * nu…

Linux与Windows互传文件【笔记】

Linux与Windows互传文件【笔记】 前言前言推荐Linux与Windows互传文件首先确保Windows安装ssh如何传送文件问题 最后 前言 这是陈旧已久的草稿2023-05-10 00:01:24 这个是准备把计组课程华为智能计组的&#xff0c;传输文件。 最后发现&#xff0c;好像没有实现了。 现在202…

云器Lakehouse:Multi-Cluster弹性架构如何实现湖上高并发低延迟分析

导读 在当今快速发展的大数据时代&#xff0c;数据平台的性能和效率对于企业来说至关重要。云器Lakehouse的Multi-Cluster弹性架构为我们提供了一种全新的视角&#xff0c;以应对数据湖上高并发和低延迟分析的挑战。本文将深入探讨云器Lakehouse如何通过其独特的技术理念和架构…

MySql软件安装

1.打开mysql官网网址 MySQL :: Download MySQL Community Server 2.本次针对版本8的图形化界面安装&#xff0c;下载成功后接下来对MySQL进行安装 3.图形化下载后有一个MSI文件 4.我们安装典型即可&#xff0c;选择第一个 5.选择数据库信息存放的路径&#xff0c;我默认放在C盘…

知识库优劣详解:牵牛易帮 VS HelpLook AI知识库

知识库不仅可以帮助企业有效管理知识&#xff0c;还能提高员工工作效率和质量&#xff0c;因此越来越多的企业选择搭建知识库。在众多搭建知识库的工具中&#xff0c;有的企业会选择免费的牵牛易帮&#xff0c;有的则会更加倾向于付费的HelpLook AI知识库。其中的原因有很多。今…

U盘文件遇损?拯救“文件或目录损坏且无法读取”的秘籍!

在数字化时代&#xff0c;U盘已成为我们日常生活与工作中不可或缺的数据存储和传输工具。然而&#xff0c;有时我们可能会遇到一个非常令人沮丧的问题——U盘中的文件或目录突然损坏且无法读取。这种突发状况往往让人措手不及&#xff0c;甚至可能引发数据丢失的严重后果。那么…

第十二篇:数据库系统导论 - 探索数据管理的基石

数据库系统导论 - 探索数据管理的基石 1 引言 数据的力量&#xff1a;揭秘数据库系统的核心 在信息时代&#xff0c;数据无处不在&#xff0c;它们成为了企业和社会运作的基础。我们如何储存、检索、更新和维护这些数据&#xff0c;决定了我们能否从这些数据中获得力量。数据…

gin自定义验证器+中文翻译

gin自定义验证器中文翻译 1、说明2、global.go3、validator.go4、eg&#xff1a;main.go5、调用接口测试 1、说明 gin官网自定义验证器给的例子相对比较简单&#xff0c;主要是语法级别&#xff0c;便于入门学习&#xff0c;并且没有给出翻译相关的处理&#xff0c;因此在这里记…

Windows离线安装snmp服务

打开1里面有教程 选择“管理” 启动&#xff0c;发现不行 再把2拷贝到&#xff1a; 在启动就可以了&#xff08;查看服务&#xff1a;ctrlshiftEsc&#xff09;

JUC下的Java java.util.concurrent.Locks详解

java.util.concurrent.locks 包介绍 java.util.concurrent.locks 包是Java并发编程中非常重要的一个部分&#xff0c;它提供了比内置synchronized关键字更为灵活的锁机制&#xff0c;用于多线程环境下的同步控制。这个包中最核心的是Lock接口&#xff0c;以及一系列实现类&…

17 SPI FLASH读写

SPI 协议简介 SPI 即 Serial Periphera linterface 的缩写&#xff0c;顾名思义就是串行外围设备接口&#xff0c;主要用于与FLASH、实时时钟、AD 转换器等外设模块的通信&#xff0c;它是一种高速的全双工同步的通信总线。 SPI 设备分为主设备和从设备&#xff0c;SPI 通信必…

vs code中如何使用git

由于本地代码有了一些储备&#xff0c;所以想通过网址托管形式&#xff0c;之前一直使用了github&#xff0c;但是鉴于一直被墙&#xff0c;无法登录账号&#xff0c;所以选择了国内的gitee来作为托管网站。 gitee的网址&#xff1a;Gitee - 基于 Git 的代码托管和研发协作平台…

蓝桥杯-网络安全比赛(7)基础知识 HTTP、TTL、IP数据包、MSS、MTU、ARP、LLMNR、MDNS、NBNS。

1. IP中TTL值能够给我提供什么信息&#xff1f;2. IP头部中标志、13位偏移、32位源IP地址、目标IP、IP数据包格式&#xff0c;有多少字节3. IP头部中的16位标识是什么&#xff1f;4. MSS 和MTU分别有多大&#xff1f;5. 怎么获取路由IP信息&#xff1f;PING、NSLOOKUP、TRACERT…