CSS快速掌握学习笔记


UP主:
黑马

链接:
CSS 快速掌握_学习资源库_阿里云培训中心-阿里云 (aliyun.com)


- CSS 的style的使用方式

  1. 嵌入式

  2. 外链式

  3. 行内式

- 文本属性

image.png

- 字体属性

image.png

.example{
	font-style: italic; /* 设置斜体 */
}
  • 一般比较特殊的字体,会使用图片进行展示。如果用户的系统中没有该字体,字体会被设置为宋体。
  • font 中的参数顺序必须严格

- 复合元素选择器

image.png

eg.

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        div,h2{

            color: red;

        }

    </style>

</head>

<body>

    <h2>abc</h2>

    <div><h2>b</h2></div>

    <h2>c</h2>

</body>

</html>
  • 多元素选择器:多个元素同样的设置
  • E F ,属于E标签下的所有的F
  • E > F, 只有E的儿子,不包括孙子
  • E+F, 两者必须相邻紧挨,样式才能够生效

- 列表样式属性

image.png

  • 采用url可以在其中套用图片

- 伪类选择器

image.png

- 属性选择器

image.png

  • 针对属性值的种类,进行筛选设置样式

- 继承性

  • 内层元素样式与外层元素相同时,内层元素样式会覆盖外层元素。
  • 除了文本与字体的属性可以被继承,其余的样式都不能被继承。

- 优先级

行内样式 > ID选择器 > 类选择器 > 标签选择器

  • 一般来说,选择器指向越准确,其优先级越高
  • 无论多选择器还是单选择器,都满足上述的级别要求

- !important

属性: !important
作用: 提高所属标签的权重

image.png

注意:

  1. !important提升的是属性的权重,不是选择器的权重
  2. !important 不能提升继承来的权重

- 单个标签可携带多个类名

优点:

  1. 减少代码量

image.png

  • class div3 用 class div1 div2来代替

  • 如果标签内多个类名的属性设置出现冲突,以CSS中最后出现的代码作为标准,与HTML中class的属性值的顺序无关

- 背景样式属性

image.png

  • background-color 设置背景颜色,需要:元素有内容 or 元素有宽度和高度

- 标准文档流

  • 空白折叠现象: 需要各个标签紧密相连,中间不留空白
  • 高矮不齐现象:

- 浮动

需求: 多个元素排在同一行【行内元素的特性】;能够给元素设置宽高 【块内元素的特性】

  • 利用 float 属性 【right】

    • 浮动元素脱离标准文档流,不占用空间
    • 通用选择清除所有的页边距,不会限制之后的排版 image.png
  • 清除浮动:浮动元素会影响下面元素的布局;布置了浮动元素不会被其父元素包裹

      1. 给浮动元素父元素设置固定的高度(不建议使用)【元素的高度一般不是手动设置的,需要根据自身的内容自定义】
    .fatherclass{
    	height: 400px;
    }
    
      1. 清除浮动属性样式 clear : [clear:left; clear:right; clear:both ]
      • 使用方法:在最后一个浮动元素下面新建div, 其主要功能是清除浮动 image.png
    • overflow:hidden 将列表的元素进行清除
      image.png

- 盒子模型

  • 参数解释:

    • width: “宽度”,盒子里面内容的宽度
    • height:“高度”,盒子里面内容的高度
    • padding:“内填充”,盒子里内容到边框的距离
    • border:“盒子的外边框”
    • margin:“外边距”,盒子与盒子之间的间距
  • 只有标准文档流中的margin使用{margin: auto}才会实现水平居中

  • text-align只能实现文本的对齐

  • margin竖直方向的外边距不会叠加,只会选择最大的部分

  • margin的作用主要是实现兄弟之间的间距,父子之间给父类使用padding-top等

- border 属性

– 线形

image.png

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        .box{

            width: 100px;

            height: 700px;

            border-top: 10px solid red ;

            border-bottom: 10px solid blue;

            border-right: 10px solid green;

            border-left: 10px solid yellow;

        }

    </style>

</head>

<body>

    <div class="box"></div>

</body>

</html>

- display

  • block: 块级元素 (将隐藏元素显示)
  • inline:行内元素
  • none: 将显示元素隐藏
– 综合案例
<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Display综合案例展示</title>

    <style>

        *{

            margin: 0;

            padding: 0;

        }

        body{

            background: url(https://x0.ifengimg.com/res/2022/1D5560C2B4D662B165273C9F6E98834C7C2D3377_size163_w1080_h668.jpeg);

        }

        ul{

            list-style: none; /* 移除列表前面的特定标记 .*/

        }

        .nav{

            width: 960px;

            height: 40px;

            margin: 100px auto;

        }

        .nav ul li{

            float: left;

            width: 120px;

            height: 40px;

            line-height: 40px;

            text-align: center;

            background: url(https://img.tukuppt.com/bg_grid/00/06/69/fuBjXWNzvg.jpg!/fh/350) repeat-x;

  

        }

        .nav ul li a:link,.nav ul li a:visited{

            text-decoration: none;

            color: white;

        }

        .nav ul li a{

            width: 120px;

            height: 40px;

            display: block; /*将行内元素转化为块元素*/

        }

        .nav ul li a:hover{

            background: url(https://photo-static-api.fotomore.com/creative/vcg/veer/612/veer-158533090.jpg);

        }

    </style>    

</head>

<body>

    <div class="nav">

        <ul>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

            <li><a href="#">网站栏目</a></li>

        </ul>

    </div>

</body>

</html>

image.png


- 定位:position

– 固定定位 position:fixed

image.png

  • 固定定位元素脱离了标准文档流
  • 固定定位元素高于标准文档流
  • 固定定位元素不再占用空间
  • 固定定位元素不会发生滚动

用法:

  1. 生成返回顶部状态栏
    参考代码:
<!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;

        }

        a{

            position: fixed;

            width: 80px;

            height: 60px;

            display: block;

            background-color: purple;

            text-decoration: none;

            color: white;

            text-align: center;

            line-height: 30px;

            font-weight: bold;

        }

    </style>

</head>

<body>

    <a href="#">返回<br/>顶部</a>

    <img src="https://ts1.cn.mm.bing.net/th/id/R-C.454adc7c22b464bca65a0ba2726fd3aa?rik=IiFCDoOAU181uQ&riu=http%3a%2f%2fpic.baike.soso.com%2fp%2f20131112%2f20131112161515-39763088.jpg&ehk=YhGJuIBQy4yp58Al%2bJQOMfNYfgG1Y0hhXCBHD4AQw78%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1">

    <img src="https://ts1.cn.mm.bing.net/th/id/R-C.454adc7c22b464bca65a0ba2726fd3aa?rik=IiFCDoOAU181uQ&riu=http%3a%2f%2fpic.baike.soso.com%2fp%2f20131112%2f20131112161515-39763088.jpg&ehk=YhGJuIBQy4yp58Al%2bJQOMfNYfgG1Y0hhXCBHD4AQw78%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1">

    <img src="https://ts1.cn.mm.bing.net/th/id/R-C.454adc7c22b464bca65a0ba2726fd3aa?rik=IiFCDoOAU181uQ&riu=http%3a%2f%2fpic.baike.soso.com%2fp%2f20131112%2f20131112161515-39763088.jpg&ehk=YhGJuIBQy4yp58Al%2bJQOMfNYfgG1Y0hhXCBHD4AQw78%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1">

  

</body>

</html>

image.png

  1. 生成网站顶部导航栏
    参考代码:
<!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;

        }

        .nav{

            width: 100%;

            height: 60px;

            background-color: #222222;

            position: fixed;

            top: 0;

            left: 0;

        }

        .nav .inner_c{

            width: 1000px;

            height: 60px;

            margin: 0px auto;

            background: #222222;

        }

        ul{

            list-style: none;

        }

        ul li{

            float: left;

            width: 150px;

            height: 60px;

            line-height: 60px;

            text-align: center;

        }

        ul li a{

            display: block;

            width: 150px;

            height: 60px;

            text-decoration: none;

            color: white;

            font-weight: bold;

        }

        ul li a:hover{

            background-color: gold;

        }

        body{

            padding: 60px;

        }

  

    </style>

</head>

<body>

    <div class="nav">

        <div class="inner_c">

            <ul>

                <li><a href="#">网站栏目1</a></li>

                <li><a href="#">网站栏目2</a></li>

                <li><a href="#">网站栏目3</a></li>

                <li><a href="#">网站栏目4</a></li>

                <li><a href="#">网站栏目5</a></li>

                <li><a href="#">网站栏目6</a></li>

            </ul>

        </div>

    </div>

    <img src="https://tse1-mm.cn.bing.net/th/id/OIP-C.A8uRzfFyePFXVe9TN25XiQHaFP?rs=1&pid=ImgDetMain" >

    <img src="https://ts1.cn.mm.bing.net/th/id/R-C.454adc7c22b464bca65a0ba2726fd3aa?rik=IiFCDoOAU181uQ&riu=http%3a%2f%2fpic.baike.soso.com%2fp%2f20131112%2f20131112161515-39763088.jpg&ehk=YhGJuIBQy4yp58Al%2bJQOMfNYfgG1Y0hhXCBHD4AQw78%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1">

</body>

</html>
	```



#### -- 相对定位 position:relative
相对定位是相对于原来的自己定位。

##### -- 特点:
1. 相对定位元素没有脱离标准文档流 
2. 相对定位元素会覆盖标准文档流中的元素

**参考代码:**

```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>

        input[type="text"]{

            font-size: 36px;

        }

        input[type="button"]{

            position: relative;

            top: 5px;

        }

    </style>

</head>

<body>

    <input type="text"><input type="button" value="检测输入">

</body>

</html>

image.png


- 绝对定位:position: absolute
  • 绝对定位参照于祖先定位元素进行定位,即查找父元素是否进行了定位的设置,如果都没有,会相对于浏览器窗口进行定位

- Z-index 属性

决定谁在谁上,谁覆盖谁

  • 只有设置了定位的元素才有 z-index
  • z-index无单位,为正整数,默认为0
  • 多个定位元素的z-index同级,则后面的会覆盖前面的

- 结构伪类

image.png


- border collap

在CSS中,“border collapse” 是指表格边框的合并方式。这个属性是 border-collapse,用于控制表格单元格的边框是合并在一起还是分开显示。

border-collapse 属性有两个可能的值:

  1. collapse: 边框合并在一起。相邻单元格的边框会合并成一个边框,看起来像是一个连续的边框。
  2. separate: 边框分开显示。相邻单元格的边框会分开显示,每个单元格都有自己的边框。

示例

<table>  
  <tr>    <td>单元格1</td>  
    <td>单元格2</td>  
  </tr>  <tr>    <td>单元格3</td>  
    <td>单元格4</td>  
  </tr></table>  
table {  
  width: 100%;  border-collapse: collapse; /* 边框合并 */  
}  
  
td {  
  border: 1px solid black;  padding: 8px;}  

在这个例子中,border-collapse: collapse; 使得表格的边框合并在一起,相邻单元格的边框会合并成一个边框。

如果将 border-collapse 设置为 separate,边框会分开显示:

table {  
  width: 100%;  border-collapse: separate; /* 边框分开 */  
  border-spacing: 10px; /* 控制边框之间的间距 */  
}  
  
td {  
  border: 1px solid black;  padding: 8px;}  

在这个例子中,border-collapse: separate; 使得每个单元格都有自己的边框,并且可以使用 border-spacing 属性来控制边框之间的间距。


- 伪元素

伪元素(Pseudo-elements)是CSS中的一种特殊选择器,用于在元素的特定部分添加样式或内容。伪元素以双冒号(::)开头,用于区分伪类(以单冒号开头)。伪元素允许在文档中插入内容,而不需要修改HTML结构。

常见的伪元素

以下是一些常见的伪元素及其用途:

  1. ::before: 在元素内容之前插入内容。
  2. ::after: 在元素内容之后插入内容。
  3. ::first-line: 选择元素的第一行内容。
  4. ::first-letter: 选择元素的第一个字母。
  5. ::selection: 选择用户选择的文本部分。

示例

::before::after
<p class="example">这是一个示例段落。</p>  
.example::before {  
  content: "开始:";  
  color: red;}  
  
.example::after {  
  content: "结束。";  
  color: blue;}  

在这个例子中,::before 伪元素在段落内容之前插入“开始:”,::after 伪元素在段落内容之后插入“结束。”。

::first-line::first-letter
<p class="example">这是一个示例段落。这是一个示例段落。</p>  
.example::first-line {  
  font-weight: bold;  color: green;}  
  
.example::first-letter {  
  font-size: 2em;  color: purple;}  

在这个例子中,::first-line 伪元素选择段落的第一行,并将其字体加粗并设置为绿色。::first-letter 伪元素选择段落的第一个字母,并将其字体大小设置为2倍,颜色设置为紫色。

::selection
<p class="example">选择这段文字看看效果。</p>  
.example::selection {  
  background-color: yellow;  color: red;}  

在这个例子中,::selection 伪元素选择用户选择的文本部分,并将其背景颜色设置为黄色,文本颜色设置为红色。

注意事项

  1. content 属性: 对于 ::before::after 伪元素,content 属性是必需的。可以是一个字符串、一个URL(用于插入图像)、一个计数器(用于生成编号)等。
  2. 兼容性: 虽然大多数现代浏览器都支持伪元素,但在某些旧版浏览器中可能需要使用单冒号(:)来兼容。

- 文本阴影

image.png


- 盒子阴影

image.png

image.png


- 圆角矩形

border-radius:A, B, C, D
A,B,C,D分别代表其四个角的情况。如果后面只有一个数值,默认对四个角都进行该圆化操作。

image.png


- 透明度

image.png


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

司南锤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值