本文介绍: CSS(层叠样式表)是一种样式表语言用于描述HTML或XML文档呈现方式。它定义如何屏幕、纸张或其他媒体显示文档的样式布局外观里面代码选择器 + { } 组成。

CSS(层叠样式表)是一种样式表语言用于描述HTML或XML文档的呈现方式。它定义如何屏幕、纸张或其他媒体显示文档的样式、布局外观
里面代码选择器 + { } 组成

体验 CSS

CSS 可以我们界面变得更加美观,这是 CSS 的一个效果展现

<!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>
        p {
            /* 文字颜色 */
            color: red;
            /* 字号 */
            font-size: 50px;
        }
    </style>
</head>
<body>
    <p>这是一个段落</p>
</body>
</html>

image.png

CSS 的引入方式

CSS 有三种引入方式内部样式表外部样式表行内样式

  1. 内部样式表:学习使用
    1. 代码写在 style 标签
  2. 外部样式表
    1. 再单独的 CSS 文件中写代码
    2. 再 HTML 中使用 link 标签引入
  3. 行内样式:配合 JavaScript 使用
    1. CSS 写在标签的 style 属性里面

下面是这三种方式示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./02.CSS的引入方式.css">
</head>
<body>
    <p>使用外部样式表</p>
    <div style="color: green; font-size: 30px;">使用行内样式表</div>
</body>
</html>

image.png

选择

因为我们一般不使用行内样式来规范标签的样式,所以如何告诉浏览器我们更改哪个标签的样式格外重要,需要用到 CSS 的选择器。

标签选择

使用标签名作为选择器,选中同名的标签来设置相同的样式

例如p h1 div a img 等等

选择

查找标签,差异化的设置标签中的显示效果

定义类选择器 .类名
使用类选择器 class=“类名
注意:

id 选择器

查找标签,差异化设置标签的显示效果

场景id 选择器一般配合 JavaScript 使用,很少用来设置 CSS 样式
步骤

同一个 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>
          /* 标签选择器 */
          p {
              color: red;
          }
          /* 类选择器 */
          .class {
              color: green;
          }
          /* id 选择器 */
          #p1 {
              color: yellow;
          }
          * {
              color: blueviolet;
          }
      </style>
  </head>
  <body>
      <p>标签选择器的使用1</p>
      <p class="class">标签选择器的使用2</p>
      <p id="p1">标签选择器的使用2</p>
      <div>测试通配符选择器</div>
  </body>
</html>

文字控制属性

通过文字控制器,我们可以界面中的文字更加的美观

这里列出常用的控制字体的 CSS 属性

描述 属性
字体大小 fontsize
字体粗细 fontweight
字体倾斜 fontstyle
行高 lineheight
字体 fontfamily
字体复合属性 font
文本缩进 textindent
文本对齐 textalign
修饰线 textdecoration
颜色 color

字体大小

<!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>
          p {
              /* 谷歌浏览器默认字体大小为 16px */
              font-size: 30px;
          }
      </style>
  </head>
  <body>
      <p>这是一个文字</p>
      <div>这是一段文字</div>
  </body>
</html>

谷歌浏览器默认字体大小为 16px
image.png

字体粗细

属性名:font-weight
属性值:

image.png
原本的字体样式就是 400,如果要设置加粗的话可以设置为 700,注意不需要加 px

image.png

字体倾斜

属性名:font-style
属性值:

行高

作用:设置多行文本之间间距

属性名:line-height
属性值

image.png
行高包括上线间距和文本高度, 从一行文字的上方到下一行文字的上方就是一个行高

文件实现垂直居中

使得行高和盒子高度一样

字体组

属性名:font-family
属性值:字体名
可以书写多个字体名,中间用逗号隔开,浏览器会从左到右依次查找找到哪一种就生成哪种字体。
image.png

font 复合属性

使用场景:设置网页文字公共样式

复合属性:属性的简写方式,一个属性对应多个值的写法各个属性之间空格隔开
font 是否倾斜 是否加粗 字号 / 行高 字体(必须按顺序书写
注意:字号和字体必须书写,否则 font 属性不生效

<!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>
        p {
            font: italic 700 200px / 2 楷体;
        }
    </style>
</head>
<body>
    <p>这是一段文字</p>
</body>
</html>

文本缩进

属性名:text-indent
属性值:

<!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 {
            background-color: aquamarine;
            width: 600px;
        }
        p {
            font-size: 100px;
            text-indent: 2em;
        }
    </style>
</head>
<body>
    <div>
        <p>
            这是一段文字
        </p>
    </div>
</body>
</html>

文本对齐方式

作用控制内容的水平对齐hi

属性名:textalign
属性值:
image.png
图片居中也和这种方式相同,textalign 本质控制内容对齐方式,不只是文本内容,要设置给内容父级

<!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>
        h1 {
            background-color: aquamarine;
            text-align: center;
            font-size: 100px;
        }
        div{
            text-align: center;
        }
    </style>
</head>
<body>
    <h1>这是一段文字</h1>
    <div>
        <img src="../DAY1/jpg/Redis.jpg" alt="一个图片">
    </div>
</body>
</html>

文字的修饰线

属性名:text-decoration
属性值:image.png,红线标注的是常用的属性。

文字的颜色

属性名:color
属性值:
image.png
在实际的开发工作中,使用后面两种比较多。

调试工具

作用检查调试代码;帮助程序员发现代码问题解决问题

打开调试工具鼠标右键选择检查或者直接按 F12
使用调试工具

复合选择器

作用: 由两个或者多个基础的选择器,通过不同的方式组合而成,更准确更高效的找到标签

后代选择器

写法:父选择器 子选择器(CSS 属性)富子选择器之间空格隔开
选择的是父选择器中的所有标签,如下面的代码,后代中所有的 span 都被选中,不管是不是直接的子代

<!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 span {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <span>你好</span>
        <div>
            <span>你好</span>
        </div>
    </div>
</body>
</html>

子代选择器

如果只想仅仅选择子代的 span 就可以使用子代选择器,这样与父类间接的子类就不会被选择
父选择器 > 子选择器

<!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 span {
              color: red;
          } */
          /* 子代选择器 */
          div > span {
              color: red;
          }
      </style>
  </head>
  <body>
      <div>
          <span>你好</span>
          <p>
              <span>你好</span>
          </p>
      </div>
  </body>
</html>

并集选择器

多组标签有相同的样式

选择器写法:选择器1, 选择器2, 选择器N

<!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 span {
            color: red;
        } */
        /* 子代选择器 */
        /* div > span {
            color: red;
        } */
        span,
        p {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <span>你好</span>
        <p>你好呀</p>
    </div>
</body>
</html>

使用,分割两个标签,不同的标签之间敲一个回车

交集选择器(了解)

同时符合多个条件元素

选择器1选择器2
两个选择器中间连这写,不需要符号,注意遇到标签选择器的时候放到前面

伪类选择器

伪类表示元素状态选中元素的某个状态来设置样式,比如我们看到网易新闻界面,当鼠标悬停在某个超链接时候就可以给它变换颜色来告诉用户自己点击进入哪条新闻

鼠标悬停状态:选择器:hover

<!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 {
            text-decoration: none;
            font-size: 10px;
        }

        a:hover {
            text-decoration: underline;
            color: blue;
            font-size: 10px;
        }
    </style>
</head>
<body>
    <a href="http://baidu.com" target="_self">跳转百度</a>
</body>
</html>

比如上面的代码默认情况下显示的是绿色,当鼠标悬停的时候显示下划线加上蓝色
image.pngimage.png

超链接(拓展)

链接一共有四个状态
image.png
如果需要设置多个效果,需要按照 LVHA 的顺序,即上面哪个表格顺序,否则可能生效这个访问过的状态target_blank 是不生效的。

CSS 特性

CSS 有三个特性继承性层叠性、优先级

继承性

子级标签默认继承父级标签的文字控制属性

在实际的应用中,我们一般将文字的属性写在 body 标签里面,其他需要额外设置的再去设置即可,标签有自己的样式就不会在继承父级的文字属性

<!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>
        body {
            font: normal 700 20px/50px 宋体;
        }
    </style>
</head>
<body>
    <p>这是一个段落</p>
    <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 {
            color: red;
        }
        div {
            color: blue;
        }
    </style>
</head>
<body>
    <div>这是一段文字</div>
</body>
</html>

优先

优先级也叫权重,当一个标签使用了多种选择器的时候基于不同类的选择器。

这个选择器的覆盖范围越广,它的优先级就越低

  1. !important :是一个提权功能,可以加到属性上,看下面示例代码,实际开发慎用
  2. 行内样式
  3. id 选择器
  4. 类选择器
  5. 标签选择器
  6. 通配符选择器

从上到下优先级逐渐降低

<!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 {
          /* 添加 !important */
            color: red !important;
        }
        #a1 {
            color: green;
        }
    </style>
</head>

<body>
    <div class="div" id="a1">这是一段文字</div>
</body>
</html>
叠加计算规则

叠加计算:如果是复合选择器,需要权重叠计算
公式(每一级之间存在仅为)
(行内样式,id 选择器,类选择器,标签选择器),计算这几个的个数总和
规则
从左到右依次比较个数,同一级个数多的优先级高,如果个数相同, 就向后比较
!important权重是最高的
继承权重是最低的

Emmet 写法

Emmet 代码简写方式,输入简写 VSCode 会自动生成对应的代码

image.png
div 比较特殊带类名可以直接 .类名来简写

背景属性

需要设置更好看网页效果,仅仅有背景色是不够的,我们可以通过设置背景图使我们的网页更有特色

image.png

背景图

网页出现装饰性的图片可以使用背景实现

属性名:backgroundimage
属性值:url()
背景图默认是平铺的效果,即如果图片盒子要小的话,就会重复防止图片直到铺满为止

<!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: 1000px;
            height: 1000px;
            line-height: 1000px;
            background-image: url("../DAY1/jpg/Redis.jpg");
        }
    </style>
</head>
<body>
    <div>
        这是一段带背景图的文字
    </div>
</body>
</html>

背景图位置

属性名:background-position
属性值:水平方位置 垂直方向位置

关键字 位置
left 左侧
right 右侧
center 居中
top 顶部
bottom 底部

水平:正数向右,负数向左
垂直:正数向下,负数向上
提示

背景图缩放

background-size 是CSS属性之一,用于控制背景图像的大小缩放方式。它允许你调整背景图像的尺寸适应元素大小或达到特定的视觉效果
长度

关键词

背景图复合属性

属性名:background
属性值:背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 (使用空格隔开属性值,不区分顺序)
背景图固定一般很少出现

显示模式

显示模式(Display Modes)是CSS中用于控制元素如何在文档布局展示的属性。这些模式定义元素渲染方式、占据空间的方式以及如何与其他元素交互

常见的显示模式

块级元素(Block):

  1. 默认情况下,块级元素独占一行,会在前后添加换行符
  2. 通过 display: block; 可以显式地设置元素块级

行内元素(Inline):

  1. 行内元素不会独占一行,会在同一行上排列
  2. 通过 display: inline; 可以显式地设置元素为行内。

内联块级元素(Inline-Block):
1. 常见的内联块级元素包括 、 等。
2. 类似于行内元素,但可以设置宽度、高度等属性,且会独占一行。
3. 通过 display: inline-block; 可以显式地设置元素为内联块级

显示模式的转化

display: none;

将元素设置为 display: none; 可以隐藏该元素,使其在页面中不可见且不占据空间
visibility: hidden; 不同,display: none; 完全将元素从渲染树中移除,而不仅仅是使其不可见。
display: block;、display: inline;、display: inline-block; 转换

修改 display 属性

可以通过修改 display 属性,将一个元素从一个显示模式转换为另一个。
例如,将一个块级元素转换为行内元素:display: inline; 或 display: inline-block;。
display: flex; 和 display: grid;:
这些是新的布局模式,分别用于创建弹性布局网格布局
display: flex; 用于创建弹性盒子,让元素更容易地进行灵活布局
display: grid; 用于创建网格布局,更容易地在二维空间中对元素进行布局。
显示模式的转化能够开发者更灵活地控制元素的表现形式和布局方式,使网页设计更加丰富和适应不同的需求

原文地址:https://blog.csdn.net/weixin_74895237/article/details/134762553

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_37112.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注