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的初学者,都是涵盖学习过来的经历,希望这篇文章能真正帮助到你。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shell脚本之嵌套循环与中断跳出

1、双重循环 1.1 格式 #!/bin/bash for ((i9;i>1;i--)) do for ((j9;j>$i;j--)) do echo -n -e "$j$i$[$i*$j]\t" done echo done1.2 实例操作 2.1 格式 #!/bin/bash for ((a1;a<9;a)) dofor ((b9;b>a;b--))doecho -n " "donefor((c1;c<…

系统信息:uname,sysinfo,gethostname,sysconf

且欲近寻彭泽宰&#xff0c;陶然共醉菊花怀。 文章目录系统信息系统标识 unamesysinfo 函数gethostname 函数sysconf()函数系统信息 系统标识 uname 系统调用 uname()用于获取有关当前操作系统内核的名称和信息&#xff0c;函数原型如下所示&#xff08;可通过"man 2 un…

面向对象编程(基础)7:再谈方法(重载)

目录 7.1 方法的重载&#xff08;overload&#xff09; 7.1.1 概念及特点 7.1.2 示例 举例1&#xff1a; 举例2&#xff1a; 举例3&#xff1a;方法的重载和返回值类型无关 7.1.3 练习 **练习1&#xff1a;** 练习2&#xff1a;编写程序&#xff0c;定义三个重载方法并…

如何大批量扫描的发票进行ocr识别导出Excel表格和WPS表格

OCR技术&#xff1a;OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;是将数字图像中的文字识别成字符代码的技术&#xff0c;在发票识别中应用广泛。通过OCR技术&#xff0c;可以将图片发票上的信息识别出来&#xff0c;并导出到Excel表格中…

3年测试越来越迷茫... 技术跟不上接下来是不是要被淘汰了?

这两天和朋友聊到了软件测试的发展&#xff1a;这一行的变化确实蛮大&#xff0c;从开始最基础的功能测试&#xff0c;到现在自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试岗位需求逐渐增多。我也在软件测试这行摸爬滚打有些日子了&#xff0c;正好有朋友问我&…

晶振01——晶振分类和无源晶振的设计

晶振 晶振相当于人的心脏&#xff0c;能跳动&#xff0c;整个系统才是“活的”。 晶振常见有有源晶振、无源晶振。 有源晶振比较贵&#xff0c;但是需要外围电路少&#xff0c;供个电就能工作。 无源晶振价格便宜&#xff0c;匹配电路复杂些。 以无源晶振进行分析&#xff0c…

WCF手麻系统源码,手术室麻醉临床系统源代码,商业源码 有演示

手麻系统源码 手术麻醉系统源码 手术室麻醉临床信息系统源码 商业级源码&#xff0c;有演示&#xff0c;三甲医院临床应用多年&#xff0c;系统稳定。 文末获取联系&#xff01; 技术架构&#xff1a;C# .net 桌面软件 C/S版&#xff0c;前后端分离&#xff0c;仓储模式 开发语…

2.5.3 乘法

这段话告诉我们&#xff0c;在程序中有一条乘法运算语句。这个程序会让计算机帮助我们完成一个简单的数学问题&#xff1a;计算6乘以2。和我们平常做数学题一样&#xff0c;程序使用*号表示乘法运算。语句 “feet 6 * fathoms;” 可以这样理解&#xff1a;它会找到之前我们定义…

spring 随笔 async 1-源码走读

0. 这一块比较简单&#xff0c;还就内个无障碍阅读 不谈,放个调用栈的日志先 … // 我们自己写的 Async 注解的方法 simpleTest:31, TestAsyncTestService (cn.angel.project.angelmicroservicesample.test.service) invoke:-1, TestAsyncTestService$$FastClassBySpringCGLI…

手撕vector

文章目录一.vector的基本结构二.构造函数调用不明确三.迭代器失效&#xff08;其实是野指针问题&#xff09;a.扩容导致的迭代器失效b.意义不同四.深层次的深浅拷贝五.整体代码实现有了前面模拟实现string的经验&#xff0c;vector对大家来说也不会算很难。vector本质也就是一个…

【ORACLE】极速通关Oracle23c开发者免费版连接

前言 oracle23c开发者免费版已经于2023年4月4日(北京时间)推出&#xff0c;并且官方也公布了安装介质的下载地址&#xff0c;有RPM安装包、VM虚拟机、docker镜像&#xff08;下载链接见文末&#xff09;。 由于最近工作比较忙&#xff0c;暂时无法写一篇内容丰富的测试&#x…

springboot树形结构接口, 懒加载实现

数据库关系有父子id的, 作为菜单栏展示时需要用前端需要用到懒加载, 所谓懒加载就是接口有一个标志位isLeaf, 前端请求后通过该字段判断该节点是否还有子节点数据 创建数据库表 t_company_info结构有id和parentId标识, 用来表示父子关系 /*Navicat Premium Data TransferSourc…

大数据环境-云平台(阿里云)

由于电脑配置原因&#xff0c;无法在本地利用虚拟机搭建环境&#xff0c;因此使用云平台来当做学习的环境。 本节内容参考&#xff1a; 【2023新版黑马程序员大数据入门到实战教程&#xff0c;大数据开发必会的Hadoop、Hive&#xff0c;云平台实战项目全套一网打尽-哔哩哔哩】 …

72-Linux_线程同步

线程同步一.什么是线程同步二.线程同步的方法1.互斥锁(1)什么是互斥锁(2)互斥锁的接口(3)互斥锁的使用(例题)2.信号量(1)什么是信号量(2)信号量的接口(3)信号量的使用(例题)a.循环打印ABCb.:主线程获取用户输入,函数线程将用户输入的数据存储到文件中;3.读写锁(1)读写锁的接口(…

R语言|plot和par函数绘图详解,绘图区域设置 颜色设置 绘图后修改及图像输出

plot()函数 plot()函数是R中最基本的绘图函数&#xff0c;其实最简单、最基础的函数&#xff0c;这也就意味着其具有更多的可操作性。 plot(x,y,...) 在plot函数中&#xff0c;只需指定最基本的x和y轴对应数据即可进行图像的绘制&#xff0c;x和y轴数据分别为两个向量或者是只…

年薪40W测试工程师成长之路,你在哪个阶段?

对任何职业而言&#xff0c;薪资始终都会是众多追求的重要部分。前几年的软件测试行业还是一个风口&#xff0c;随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业&#xff0c;目前软件测试行业“缺口”已经基本饱和。当然&#xff0c;我说的是最基础的功能测试的岗位…

WIN10無法再使用 IE 瀏覽器打开网页解决办法

修改 Registry&#xff08;只適用 Win10&#xff09; 微軟已於 2023 年 2 月 14 日永久停用 Internet Explorer&#xff0c;會透過 Edge 的更新讓使用者開啟 IE 時自動導向 Edge&#xff0c;其餘如工作列上的圖示&#xff0c;使用的方法則是透過「品質更新」的 B 更新來達成&am…

NoSQL与Redis五次作业回顾

文章目录1. 作业12. 作业23. 作业34. 作业45. 作业51. 作业1 要求&#xff1a; 在 VM 上安装 CentOS Linux 系统&#xff0c;并在 Linux 上通过 yum 安装 C编译器&#xff0c;对 Redis 进行编译安装。 观察 Redis 目录结构&#xff0c;使用 redis-server 启动服务器&#xff…

Android---Jetpack之DataBinding

DataBinding 的意义 让布局文件承担了部分原本属于页面的工作&#xff0c;使页面与布局耦合度进一步降低。 DataBinding 的应用 使用 dataBinding 需要在 gradle 里添加如下代码 dataBinding{enabled true} 应用实现 activity_main.xml <?xml version"1.0" e…

python argparse的使用,本文基本够用

一、前言 在学习深度学习会发现都比较爱用python这个argparse&#xff0c;虽然基本能理解&#xff0c;但没有仔细自己动手去写&#xff0c;因此这里写下来作为自己本人的学习笔记 argparse是python的一个命令行参数解析包&#xff0c;在代码需要频繁修改参数时&#xff0c;方便…