CSS基础

发布于:2025-05-01 ⋅ 阅读:(12) ⋅ 点赞:(0)

目录

1.什么是CSS

2.CSS基本语法规范

3.CSS引入方式——内部样式表

4.CSS引入方式——行内样式表

5.CSS引入方式——外部引入

6.CSS选择器——标签选择器

7.类选择器

8.ID选择器

9.通配符选择器

10.复合选择器

11.伪类选择器

12.字体设置

13.字体颜色

14.字体粗细

15.文字样式

16.文本对齐缩进装饰行高

17.背景属性

18.圆角矩形

19.元素显示

20.盒模型(border)

21.盒模型(padding)

 22.盒模型(外边距)

23.弹性盒子

24.总结


1.什么是CSS

层叠样式表,CSS能够对网页中元素位置的排版进行像素级的精确控制,实现美化页面的效果,能够做到页面的样式和结构分离。

CSS控制页面的展示效果,HTML决定页面结构。

2.CSS基本语法规范

在style标签内编写CSS代码。

选择器+{一条/N条声明}

  1. 选择器决定针对谁修改(找谁)
  2. 声明决定修改啥(干啥)
  3. 声明的属性是键值对。

例子:

    <style>
        p
        {
            color: red;
            font-size: 40px;
        }
    </style>

3.CSS引入方式——内部样式表

        写在style标签中,嵌入到html内部。

        理论上来说style放到html的哪里都行,但是一般都是放到head标签中。

  • 优点:这样做能够让样式和页面结构分离。
  • 缺点:分离的还不够彻底,尤其是css内容多的时候。

        外部引入方式可以将css引入,达到完全分离的效果。

4.CSS引入方式——行内样式表

        行内优先于内部,但行内样式表不常用。

<h1 style="color: aqua; font-size: 80px;">你好</h1>

5.CSS引入方式——外部引入

        实际开发中最常用的方式。

  1. 创建一个CSS文件
  2. 使用link标签引入CSS

完全隔离CSS文件和HTML文件,做到了很好的解耦。

<link rel="stylesheet" href="./test_4_27_1.css">

rel表示引入文件是样式表。

6.CSS选择器——标签选择器

以段落标签p为例:

p
{
    color: red;
    font-size: 40px;
}

7.类选择器

.类名表示类选择器。

<!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>
        .student
        {
            color:aqua;
            font-size: 80px;
        }
        .teather
        {
            color:bisque;
            font-size: 80px;
        }
        .s
        {
            color:black;
        }
        .t
        {
            font-size: 100px;
        }
    </style>
</head>
<body>
    <p class="student">张三</p>
    <p class="teather">李四</p>
    <p class="s t">王五</p>
</body>
</html>

类选择器可叠加,.s和.t叠加表示“王五”。

8.ID选择器

#ID表示id选择器。

<!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>
        #fe
        {
            color:red;
        }
    </style>
</head>
<body>
    <p id="fe">前端开发</p>
    <p id="server">后端开发</p>
</body>
</html>

9.通配符选择器

*表示通配符选择器,选择浏览器的所有内容。

10.复合选择器

将之前的基础选择器进行组合。

将有序列表的颜色改成红色且将hobby类和id为fe的内容大小设置为100px:

        ol li
        {
            color:red;
        }
        .hobby #fe
        {
            font-size: 100px;
        }

11.伪类选择器

伪类选择器是用来定义元素状态的。

链接伪类选择器:

伪类选择器 描述
a:link 选择未被访问过的链接
a:visited 选择已经被访问过的链接
a:hover 选择鼠标悬停上的链接
a:active 选择活动链接(鼠标按下了但是未弹起)

 代码示例:

<!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>
        a:link
        {
            color: red;
        }
        a:visited
        {
            color:aqua;
        }
        a:hover
        {
            color:black;
        }
        a:active
        {
            color:blueviolet;
        }
    </style>
</head>
<body>
    <a href="https://www.baidu.com">百度</a>
    <a href="#">123</a>
</body>
</html>

:root伪类选择器:等同于html选择器,但优先级更高。

:focus选择器,选择获得焦点的输入字段,并设置其样式。

12.字体设置

设置字体类型和大小:

        input:focus
        {
            font-family: 'Microsoft YaHei';
            font-size: 30px;
        }

13.字体颜色

        html
        {
            color:red;
            color:#ff0000;
            color:rgb(255, 0, 0);
        }

三种设置方式,直接设置,16进制,rgb。

14.字体粗细

        p
        {
            font-weight: normal;
        }

除了normal外,还有很多的设置选项。

描述
normal 默认值,定义标准的字符
bold 定义粗体的字符
bolder 定义更粗的字符
lighter 定义更细的字符
100/200/300/400/.../900 定义由细到粗的字符
inherit 从父元素继承字体的粗细

15.文字样式

设置div倾斜:

div
{
    font-style: italic;
}

除了italic外,还有其它三种:

描述
normal 默认值,浏览器显示一个标准的字体样式
italic 浏览器会显示一个斜体的字体样式
pblique 浏览器会显示一个倾斜的字体样式
inherit 规定应该从父元素继承字体样式

16.文本对齐缩进装饰行高

文本对齐用来控制文字水平方向的对齐。

不光能控制文本对齐,也能控制图片等元素居中或者靠右。

a
{
    text-align: center;
}

三个选项:

描述
center 居中对齐
left 左对齐
right 右对齐

缩进:

h2
{
    text-indent: 20px;
}

装饰:

h3
{
    text-decoration: underline;
}

总共四个选项:

描述
underline 下划线(常用)
none 啥都没有
overline 上划线
line-through 删除线

行高:

<!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>
        .line-height .two
        {
            line-height:100px;
        }
    </style>
</head>
<body>
    <div class="line-height">
        <div class="two">
            文本
        </div>
    </div>
</body>
</html>

17.背景属性

设置背景颜色或者背景图片:

body
{
    background-color: red;
}
div
{
    background-image: url(https://bpic.588ku.com/element_origin_min_pic/23/07/11/d32dabe266d10da8b21bd640a2e9b611.jpg!r650);
}

这里的url不需要加引号。 

背景不平铺:

background-repeat: no-repeat;

其它选项:

描述
repeat 平铺
no-repeat 不平铺
repeat-x 水平平铺
repeat-y 垂直平铺

默认是repeat。

背景尺寸:

background-size:length|percentage|cover|contine;
  • 可以填具体的数值:如40px 60px表示宽度为40px,高度为60px
  • 也可以填百分比,按照父元素的尺寸设置
  • cover:把背景图像扩展至足够大,以使背景图像完全覆盖背景区域。背景图像的某些部分也许无法显示在背景定位区域中
  • 把背景图像扩展至最大尺寸,以使其宽度和高度完全适应内部区域

18.圆角矩形

border-radius:length;

length是内切圆的半径,数值越大,弧线越强烈。

变成圆形:

<!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
        {
            width:200px;
            height:200px;
            border:2px green solid;
            border-radius: 50%;
        }
    </style>
</head>
<body>
    <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>Document</title>
    <style>
        div
        {
            width:200px;
            height:200px;
            border:2px green solid;
            /* border-radius: 50%; */
            border-top-left-radius: 100px;
            border-top-right-radius: 100px;
            border-bottom-left-radius: 100px;
            border-bottom-right-radius: 100px;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

19.元素显示

块级元素:单独占据一行,例如div;

行内元素:不单独占据一行,例如span。

a
{
    display: block;
}
<a href="#">链接1</a>
<a href="#">链接2</a>

将a转换为块级元素。

20.盒模型(border)

每一个html元素就相当于一个矩形的盒子。

每一个盒子有四个部分构成:

  1. 边框border
  2. 内容content
  3. 内边距padding
  4. 外边距margin

通过box-sizing属性可以修改浏览器的行为,使边框不再撑大盒子。

box-sizing:border-box;

边框属性修改:

border-color:black;
border-style:solid;
border-width:10px;

等价于:

border:black 10px solid;

21.盒模型(padding)

四种编写方式,都很常见,都需要记住:

编写方式 描述
padding:5px; 表示四个方向都是5px
padding:5px 10px; 表示上下内边距是5px,左右是10px
padding:5px 10px 20px; 表示上是5px,左右是10px,下是20px
padding:5px 10px 20px 30px;

表示上是5px,右是10px,下是20px,左是30px

padding:5px;

等价于:

padding-top:5px;
padding-right:5px;
padding-bottom:5px;
padding-left:5px;

 22.盒模型(外边距)

控制盒子和盒子之间的距离。

写法同padding,将padding换成margin即可。

块级元素水平居中:

前提:

  • 指定宽度(如果不指定宽度,默认和父元素一致)
  • 把水平margin设为auto

以下三种写法均可

margin-left:auto;margin-right:auto;
margin:auto;
margin:0 auto;

23.弹性盒子

参考这篇文章:弹性盒子(flexbox)布局属性详解_弹性盒子的属性-CSDN博客

24.总结

        以上就是CSS基础部分,后续我会继续向该篇文章中添加内容。