当前位置: 首页 > article >正文

CSS基础知识,必须掌握!!!

CSS基础知识

  • Background(背景)
  • CSS文本格式
    • 文本颜色
    • 文本对齐格式
    • 文本修饰
    • 文本缩进
  • CSS中的字体
    • 字体样式
    • 字体大小
  • CSS链接(link)
  • CSS列表
    • 不同列表标项
    • CSS列表项用图片作为标记
    • CSS列表标记项位置
  • CSS中表格(table)
  • 表格边框
    • 折叠边框
    • 设置表格的宽度和高度
    • 表格文字对齐方式
    • 表格填充与表格颜色
  • CSS盒子模型
    • 元素的宽度和高度
  • CSS边框
    • 边框样式
    • 边框宽度和颜色
    • 边框单独设置各边
  • CSS轮廓(outline)属性
  • CSS块级元素、行内元素、行内快元素
  • CSS中的position定位
  • CSS中 overflow的用法
  • CSS浮动(Float)
  • CSS中的对齐&垂直居中对齐
    • 元素居中对齐
    • 文本居中对齐
    • 图片居中对齐
    • 垂直居中对齐(使用padding)
  • CSS中的选择器
    • 后代选择器
    • 子元素选择器
    • 相邻兄弟选择器
    • 普通兄弟选择器
  • css导航栏(重要)
    • 水平导航栏
    • 垂直导航栏
  • 完结

Background(背景)

CSS背景属性用于定义HTML元素的背景
CSS属性定义背景效果:

  • background-color -> 定义背景颜色
  • background-image -> 定义背景图片
  • background-repeat -> 是否平铺,水平平铺(repeat-x)、垂直平铺(repeat-y)、不平铺(no-repeat)
  • background-attachment -> 是否固定背景图片,不随滚动而发生位置改变
  • background-position -> 背景图片位置(top、left、right)
<!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>背景元素</title>
    <style>
        body {
            background-image: url(image/lisa.jpeg);
            background-color: pink;
            background-repeat: no-repeat;
            background-position: center;
            background-attachment: fixed;
        }
    </style>
</head>
<body>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
    <p>有点意思</p>
</body>
</html>

注意: 段落多的用意是为了显示图片固定的效果

CSS文本格式

文本颜色

颜色属性可以用来设置文字的颜色。
CSS中的颜色经常的指定

  • 十六进制值 如 :#FFFFFF
  • 一个RGB值 如 : RGB(255,0,0)
  • 颜色的名称 如: red、pink、blue
style {
	h1 {
		color:red;
	}
	h2 {
		color:#ff00ff;
	}
	p {
		color:RGB(255,0,0);	
	}
}

文本对齐格式

  • 文本排列属性是用来设置文本的水平对齐格式
  • 文本可居中或者左对齐及右对齐

用法:

  1. text-align:center -> 居中对齐
  2. text-align:left -> 左对齐
  3. text-align -> 右对齐
<!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>文本对齐</title>
    <style>
        p {
            text-align:center;
            color: red;
        }
    </style>
</head>
<body>
    <p>
        真的很有意思
    </p>
</body>
</html>

文本修饰

text-decoration属性用来设置或删除文本的装饰
注意: 主要用来删除超链接的下划线

案例:

<!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>文本装饰</title>
    <style>
        p a {
            text-decoration: none;
        }
    </style>
</head>
<body>
    <p>这是一个超链接:<a href="#">去往有点意思的地方</a></p>
</body>
</html>

文本缩进

**特点:**文本缩进是用来指定文本第一行的缩进
演示:

<!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>文本缩进</title>
    <style>
        #one {
            /* text-indent: 2em; */
            text-indent: 50px;
        }
    </style>
</head>
<body>
    <p id="one">还是有点意思啊</p>
    <p>这就没意思了啊</p>
    <p>这就没意思了啊</p>
    <p>这就没意思了啊</p>
    <p>这就没意思了啊</p>
</body>
</html>

注意: 如果要使用首行缩进两个字,可以使用2em,每个em都会自己计算每个文字缩进的大小。

CSS中的字体

CSS中字体属性定义字体、加粗、大小、文字样式
**字体系列:**可以设置为宋体、微软雅黑等等。

<!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>字体样式</title>
    <style>
        h1 {
            font-family:"Times New Roman",Times,serif;
        }
    </style>
</head>
<body>
    <h1>有点意思</h1>
</body>
</html>

字体样式

用途: 主要用来指定斜体文字的字体样式属性
主要有三个值:

  • 正常-正常显示文字 {font-style:normal;}
  • 斜体-以斜体来显示文字 {font-style:italic;}
  • 倾斜的文字-文字向一般倾斜 {font-style:oblique;}

字体大小

主要通过font-size:28px设置字体像素,后面跟大小像素就可以。

CSS链接(link)

链接的样式可以用CSS属性来设置,如颜色、字体、大小等
常见的链接伪类选择器:

  1. a:link -> 未被访问的链接
  2. a:visited -> 已经被访问过的链接
  3. a:hover -> 鼠标移动到链接上时显示的效果
  4. a:active -> 链接被点击的那一时刻,鼠标未松开

注意: 若设置若干链接样式,也有一些顺序规则

  • a:hover 必须跟在a:link 和 a:visited 的后面
  • a:active 必须跟在a:hover 的后面

演示:

<!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>链接伪类</title>
    <style>
        
        a:link {
            color: yellow;
            text-decoration: none;
        }
        a:visited {
            color: red;
        }

        a:hover {
            color: orange;
        }

        a:active {
            color: pink;
        }
        
    </style>
</head>
<body>
    <a href="#" target="_blank">有点意思</a>
</body>
</html>

CSS列表

在HTML中设置列表有两种类型:

  • 无序列表ul,在CSS中可以设置列表标记项(如:小黑点、小方框等)
  • 有序列表ol,列表项可以是数字也可以是字母

在CSS中可以进一步给出样式,并可以用图像作为列表标记项

不同列表标项

CSS中list-style-type 可以指定列表标记项类型
实例:

<!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>列表标记项</title>
    <style>
        .a {
            list-style: circle;
        }
        .b {
            list-style: square;
        }

        .c {
            list-style: lower-roman;
        }

        .d {
            list-style: upper-latin;
        }

    </style>
</head>
<body>
    <ul class="a">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ul>

    <ul class="b">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ul>

    <ol class="c">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ol>

    <ol class="d">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ol>
</body>
</html>

CSS列表项用图片作为标记

用法: 使用list-style-image: 可以设置图像列表标记项
示例:

<!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>图像列表标记项</title>
    <style>
        .a {
            list-style-image:url(image/lisa.jpeg);
        }
    </style>
</head>
<body>
    <ul class="a">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ul>
</body>
</html>

CSS列表标记项位置

这CSS中可以使用list-style-position设置列表标记项位置
一般有三个属性:

  • inside -> 列表项标记放在文本内,环绕文本根据标记对齐
  • outside -> 默认值。保持标记文本的左侧
  • inherit -> 表示从父亲元素继承list-style-position的值

示例:

<!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>图像列表标记项</title>
    <style>
        .a {
            list-style-image:url(image/lisa.jpeg);
        }
    </style>
</head>
<body>
    <ul class="a">
        <li>有点意思</li>
        <li>真有意思</li>
        <li>太有意思</li>
    </ul>
</body>
</html>

CSS中表格(table)

表格边框

用法: 指定表格边框,使用boarder属性

<!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>表格边框</title>
    <style>
        table,th,td {
            border: 1px solid pink;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <th>数据类型</th>
            <th>大小</th>
        </tr>
        <tr>
            <td>byte</td>
            <td>1字节</td>
        </tr>
        <tr>
            <td>short</td>
            <td>2字节</td>
        </tr>
        <tr>
            <td>int</td>
            <td>4字节</td>
        </tr>
    </table>
</body>
</html>

折叠边框

用法: 使用boarder-callopse设置表格边框是否折叠为单个边框或者分开

<!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>表格边框</title>
    <style>
        table,th,td {
            border: 1px solid pink;
        }
        table {
            /* 指定折叠边框 */
            border-collapse: collapse;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <th>数据类型</th>
            <th>大小</th>
        </tr>
        <tr>
            <td>byte</td>
            <td>1字节</td>
        </tr>
        <tr>
            <td>short</td>
            <td>2字节</td>
        </tr>
        <tr>
            <td>int</td>
            <td>4字节</td>
        </tr>
    </table>
</body>
</html>

设置表格的宽度和高度

用法: 使用height和width属性分别设置表格的宽度和高度

<!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>表格边框</title>
    <style>
        table,th,td {
            border: 1px solid pink;
        }
        table {
            /* 设置表格宽度和高度 */
            width: 400px;
            height: 50px;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <th>数据类型</th>
            <th>大小</th>
        </tr>
        <tr>
            <td>byte</td>
            <td>1字节</td>
        </tr>
        <tr>
            <td>short</td>
            <td>2字节</td>
        </tr>
        <tr>
            <td>int</td>
            <td>4字节</td>
        </tr>
    </table>
</body>
</html>

表格文字对齐方式

用法: 使用text-align属性一般设置center(居中对齐)、left(居左对齐)、right(居右对齐);使用vertical-align可以实现垂直方向对齐,top(顶部对齐)、bottom(底部对齐)。

<!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>表格边框</title>
    <style>
        table,th,td {
            border: 1px solid pink;
        }
        td {
            /* 设置表格文字对齐方式 */
            text-align: center;
        }
        td {
            /* 设置垂直对齐 */
            height: 50px;
            vertical-align: top;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <th>数据类型</th>
            <th>大小</th>
        </tr>
        <tr>
            <td>byte</td>
            <td>1字节</td>
        </tr>
        <tr>
            <td>short</td>
            <td>2字节</td>
        </tr>
        <tr>
            <td>int</td>
            <td>4字节</td>
        </tr>
    </table>
</body>
</html>

表格填充与表格颜色

表格填充: 如需设置表格中的内容与边框的距离可以使用pidding属性设置相应的像素值
表格颜色: 可以使用background-color 设置表个背景颜色,color直接可以设置表格中的字体颜色。

<!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>表格边框</title>
    <style>
        table,th,td {
            border: 1px solid pink;
        }
        td {
            /* 控制表格内容与边框的距离 */
            padding: 20px;
        }
        th {
            background-color: orange;
            color: white;
        }
        
    </style>
</head>
<body>
    <table>
        <tr>
            <th>数据类型</th>
            <th>大小</th>
        </tr>
        <tr>
            <td>byte</td>
            <td>1字节</td>
        </tr>
        <tr>
            <td>short</td>
            <td>2字节</td>
        </tr>
        <tr>
            <td>int</td>
            <td>4字节</td>
        </tr>
    </table>
</body>
</html>

CSS盒子模型

说明: 所有HTML元素都可以看作为一个盒子模型,CSS盒子模型本质上就是一个盒子,它包括:边距、边框、填充、内容。
在这里插入图片描述

  • Margin(外边距) -> 清除边框外的区域,外边距是透明的。
  • Borader(边框) -> 围绕在内边距和内容外的边框。
  • Padding (内边距)-> 内容周围区域,内边距也是透明的
  • Content (内容) -> 盒子中的内容,显示图像和文字

元素的宽度和高度

注意: 一般指定一个CSS元素的宽度和高度属性时,你只是设置内容上的宽度和高度。完整的大小元素,你还需要添加内边距、边框、外边距

下面看一个例子理解:

<!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>盒子模型</title>
    <style>
        div {
            background-color: pink;
            width: 600px;
            height: 400px;
            /* 边框大小30像素、实线、橙色 */
            border: 30px solid orange;
            padding: 40px;
            margin: 30px;
        }
    </style>
</head>
<body>
    <div>
        看看我吧,真的有点意思
    </div>
</body>
</html>

在这里插入图片描述

CSS边框

在CSS中允许设置一个元素边框的样式和颜色,比如有四条边的边框和不是方形的边框也是可以设置的。

边框样式

用法: 一般通过boarder-style属性来定义边框的样式

说明
none默认无边框
dotted定义一个点线边框
solid定义实线边框
double定义两个边框,两个边框宽度相同
groove定义3D沟槽边框,效果取决于边框颜色值
ridge定义3D脊边框,效果取决于边框颜色值
inset定义3D嵌入边框,效果取决于颜色值
outset定义3D突出边框,效果取决于颜色值

边框宽度和颜色

  • 通过borader-color可以设置边框的颜色,颜色三种写法
  • 通过borader-width可以设置边框的宽度,给定响应的像素值

边框单独设置各边

说明: 在CSS中可以指定不同侧边不同的边框

  • 通过boarder-top-style设置上边框的样式
  • 通过boarder-right-style设置右边框的样式
  • 通过boarder-bottom-style设置下边框的样式
  • 通过boarder-left-style设置左边框的样式

CSS轮廓(outline)属性

说明: 轮廓位于边框边缘的外围,可起到突出元素的作用。
使用: outline属性规定元素轮廓的样式、颜色、宽度。
属性值:

  • outline-color -> 设置轮廓的颜色
  • outline-style -> 设置轮廓的样式
  • outline-width -> 设置轮廓的宽度
属性
outline-color颜色的三种表达方式
outline-stylenone、dotted、dashed、solid、double、groove、ridge、inset、outset、inherit
outline-widththin、medium、thick、length、inherit

CSS块级元素、行内元素、行内快元素

块级元素: 块级元素占用了全部的宽度(页面一整行),收尾都是换行符。
行内元素: 行内元素只需要必要的宽度,不强制换行
行内块元素: 行内快元素既有块级元素的特点也有行内元素的特点,主要特点就是它可以指明宽度和高度。

块级元素举例:

行内元素举例:

行内快元素: 行内块元素可以从块级元素和行内元素转换而来,同时,块级元素可以转换为行内元素,行内元素也可以转换为块级元素。
转换方式:

  • display:inline-block -> 转换为行内块元素
  • dispaly:inline -> 转换为行内元素
  • display:block -> 转换为块级元素

例子: 这是一个块级元素转换为行内块元素的例子

<!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>块级元素</title>
    <style>
        div.a {
            display: inline-block;
            width: 200px;
            height:100px;
            background-color: pink;
            font-size: 20px;
        }
        div.b {
            display: inline-block;
            width: 200px;
            height:100px;
            background-color: red;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <div class="a">有点意思</div>
    <div class="b">我也有点意思</div>
</body>
</html>

CSS中的position定位

说明: position属性指定了元素的定位类型
属性值:

  • static -> 无特殊定位
  • relative -> 相对定位元素移动
  • fixed -> 相对于浏览器位置是固定的,不随滚轮滑动而改变位置
  • absolute -> 相对于已经定位的父元素,如果元素没有已经定位的父元素,这个父元素就是
  • stiky -> 粘贴定位依赖与滚轮来定位,滚轮往下滚的时候效果才能显示出来

例子: 这是一个粘贴定位的例子
注意: 指定属性后一定要制定粘贴定位的位置,否则不起效果

<!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>元素定位</title>
    <style>
        p.sticky {
            position: -webkit-sticky;
            position: sticky;
            top: 10px;
            border: 5px solid pink;
            background-color: orange;
        }
    </style>
</head>
<body>
    <p class="sticky">有点意思</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
    <p>滑动滚轮</p>
</body>
</html>

CSS中 overflow的用法

说明:

说明
inherit从父元素继承overflow的值
visible默认值,内容不会被修剪,呈现在元素框之外
hidden内容会被修剪,其余内容不会呈现
scroll内容会被修剪,但是浏览器显示滚动条呈现
auto如果内容被修剪,浏览器显示滚动条查看其余内容

例子: 演示scroll效果

<!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>overflow的使用</title>
    <style>
        div {
            width: 200px;
            height:50px;
            border: 5px solid pink;
            overflow: scroll;
        }
    </style>
</head>
<body>
    <div>
        <p>有点意思</p>
        <p>有点意思</p>
        <p>有点意思</p>
        <p>有点意思</p>
    </div>
</body>
</html>

CSS浮动(Float)

作用: 一般这个属性会用于一段文字中的图片浮动,可以图片浮动在文字的左边,也可以浮动在文字的右边。

用法: 在图片标签使用属性float

  • float:left -> 浮动在文字左边
  • float:right -> 浮动在文字右边
  • float:inline-start -> 浮动在文字的开头
  • float:inline-end -> 浮动在文字的结尾
<!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>float的使用</title>
    <style>
        p img{
            float: inline-start;
        }
    </style>
</head>
<body>
    <p> <img src="image/lisa.jpeg" width="200px">
        --有点意思----有点意思----有点意思----有点意思----有点意思----有点意思----有点意思--
        --有点意思----有点意思----有点意思----有点意思----有点意思----有点意思----有点意思--
        --有点意思----有点意思----有点意思----有点意思----有点意思----有点意思----有点意思--
        --有点意思----有点意思----有点意思----有点意思----有点意思----有点意思----有点意思--
        --有点意思----有点意思----有点意思----有点意思----有点意思----有点意思----有点意思--
    </p>
</body>
</html>

CSS中的对齐&垂直居中对齐

说明: CSS中的对齐无非就两种,一种是使用特点的属性使元素居中对齐,还有一种就是通过指定的宽度将两边的边距平均分配。

  • 元素div对齐,可以使用margin:auto
  • 表格中的文本居中对齐可以只用padding设置左右边距一样可以实现居中对齐

元素居中对齐

例子: div元素居中对齐

<!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>对齐&垂直居中对齐</title>
    <style>
        div {
            background-color: pink;
            border: 3px solid orange;
            margin: auto;
            /*如果没有设置则起不到效果*/
            width: 60%;
        }
    </style>
</head>
<body>
    <div>
        有点意思
    </div>
</body>
</html>

文本居中对齐

说明: 最常用text-align:center就能实现

图片居中对齐

说明: 可以是图片元素包裹到块级元素中,让块级元素居中对齐,例如吧img元素包裹到p标签中,让p标签中的内容居中对齐;还可以图片(行内元素)转换为块级元素,按照块级元素的方式居中对齐。

例子:包裹在块级元素中对齐

<!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>图片居中对齐</title>
    <style>
        p {
            text-align: center;
        }
    </style>
</head>
<body>
    <p><img src="image/pyy.jpeg" width="300"></p>
</body>
</html>

垂直居中对齐(使用padding)

说明:使元素的头部和底部都设置同样的边距来呈现垂直居中的效果

padding参数介绍:

参数个数效果
1上、右、下、左会依次受设置的 参数影响
2上下、左右依次会受设置的参数影响
3上、左右、下会依次受设置的参数影响
4上、下、左、右会依次受设置边的影响

例子:

<!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>padding参数使用</title>
</head>
<style>
    div {
        /* 设置成行内块元素就可以指定宽高 */
        display: inline-block;
        background-color: pink;
        /* padding效果在盒子宽高不够的情况下会把盒子给顶开 */
        padding: 30px 80px;
    }
</style>
<body>
    <div>
        有点意思
    </div>
</body>
</html>

CSS中的选择器

说明: 选择器就是选择对应的元素添加相应的样式,重点突出在选择方面
CSS中包含四种选择器:

  • 后代选择器(使用空格分隔)
  • 子元素选择器 (使用>分隔)
  • 相邻元素选择器 (使用+分隔)
  • 普通兄弟选择器 (以~分隔)

后代选择器

例子: 选择div中所有的p标签添加样式

<style>
    div p {
        text-align: center;
    }
</style>

子元素选择器

说明: 与后代选择器相比,子元素选择器只能选择嵌套的一级子元素
例子:

<style>
    div>p {
        text-align: center;
    }
</style>

相邻兄弟选择器

说明: 相邻选择器在同一级中选择,或者拥有同一父元素
例子:

<style>
    div+p {
        text-align: center;
    }
</style>

普通兄弟选择器

说明: 选取指定元素之后的相邻兄弟元素
例子:

<!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>选择器</title>
    <style>
        div~p {
            background-color: pink;
        }
    </style>
</head>
<body>
    <div>
        <p>没有意思</p>
        <p>没有意思</p>
        <p>没有意思</p>
    </div>
    
    <span>
        <p>真有点意思哦</p>
    </span>
    <p>有点意思</p>
    <p>有点意思</p>
</body>
</html>

css导航栏(重要)

说明: 导航栏主要分为垂直导航栏和水平导航栏,熟练掌握导航栏对于开发来说非常重要,导航栏同时也搭配链接来使用

水平导航栏

下面主要通过例子来介绍导航栏

<!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>水平导航栏</title>
    <style>
        a {
            display: inline-block;
            width: 230px;
            height: 40px;
            background-color: gray;
            text-decoration: none;
            line-height: 40px;
            text-indent: 3em;
            color: white;
        }

        #a {
            margin-left: -10px;
        }

        #s {
            margin-top: 200px;
            margin-left: 180px;
        }

        a:hover {
            background-color: orange;
            color: black;
        }
    </style>
</head>

<body>
    <a href="#" id="s">主页</a>
    <a href="#" id="a">国产</a>
    <a href="#" id="a">日韩</a>
    <a href="#" id="a">欧美</a>
    <a href="#" id="a">联系我们</a>
</body>

</html>

效果:
在这里插入图片描述

垂直导航栏

例子: 这里尝试做一下小米侧边栏
效果图:
在这里插入图片描述

<!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>小米侧边栏</title>
    <style>
        a {
            display: block;
            text-decoration: none;
            background-color: gray;
            font-size: 18px;
            text-indent: 3em;
            height: 40px;
            width: 230px;
            line-height: 40px;
            color: white;
        }

        a:hover {
            background-color: rgb(255, 103, 0);
        }
    </style>
</head>
<body>
    <a href="#">手机</a>
    <a href="#">电视</a>
    <a href="#">家电</a>
    <a href="#">笔记本 平板</a>
    <a href="#">出行 穿搭</a>    
    <a href="#">健康 儿童</a>    
    <a href="#">耳机 音响</a>    
    <a href="#">生活 箱包</a>    
    <a href="#">智能 路由器</a>    
    <a href="#">电源 配件</a>    
</body>
</html>

完结

这是CSS中很基础的内容,是一定要掌握的,博主撰写目的也是CSS的初学者,都是涵盖学习过来的经历,希望这篇文章能真正帮助到你。


http://www.kler.cn/a/8114.html

相关文章:

  • MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
  • 2. SQL窗口函数使用
  • 智能化军事【五】精确制导武器智能化实现
  • centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
  • Vue.js 响应接口
  • YoloV8改进策略:Head改进|DynamicHead,利用注意力机制统一目标检测头部|即插即用
  • Android:启动流程
  • 城乡供水一体化管控平台-农村供水监管平台-乡村振兴
  • C++实现多线程
  • 聚类问题的算法总结
  • Nuxt中使用vuex管理组件信息通讯
  • 图像分割技术及经典实例分割网络Mask R-CNN(含基于Keras Python源码定义)
  • 一文看懂多模态大型语言模型GPT-4
  • 设计模式之监听模式
  • 第二章 SpringBoot整合ES7
  • 签订合同Signing a Contract
  • TenserRT(一)模型部署简介
  • 人人都能看懂的Spring源码解析,Spring如何解决循环依赖
  • Leetcode653. 两数之和 IV - 输入二叉搜索树
  • JavaScript 解析Json字符串的性能比较分析代码
  • WeakTr阅读笔记
  • Spring销毁的几种实现
  • 【vSphere | Python】vSphere Automation SDK for Python Ⅵ—— VM Guest Processes APIs
  • 实时决策系统中 OpenMLDB 的常见架构整合方式
  • 【微信小程序-原生开发】系列教程目录(已完结)
  • 只依赖Tensorrt和opencv的yolov5源代码