HTML的修饰(CSS) -- 第三课

news2024/11/30 2:32:47

文章目录

  • 前言
  • 一、CSS是什么?
  • 二、使用方式
    • 1. 基本语法
    • 2. 引入方式
      • 1.行内式
      • 2.内嵌式
      • 3. 链入式
    • 3. 选择器
      • 1. 标签选择器
      • 2.类选择器
      • 3. id选择器
      • 4. 通配符选择器
    • 4. css属性
      • 1. 文本样式属性
      • 2. 文本外观属性
    • 5. 元素类型及其转换
      • 1. 元素的类型
      • 2. 元素的转换
    • 6.css高级特性
      • 1. 复合选择器
      • 2. css层叠性和继承性
        • 1. 层叠性
        • 2. 继承性
      • 3. css优先级
  • 总结


前言

前面我们已经了解了html的一些基本使用方法,我们再写html代码的时候不可避免的会改变其中的一些样式,而这就有一种专门的方式用来修饰html编写的网页的样式,它就是css!


一、CSS是什么?

CSS(层叠样式表)是一种用于描述网页上元素的样式和布局的语言。它与HTML结合使用,可以通过选择器来选择元素,并通过属性来定义元素的外观和行为。CSS可以控制文字的颜色、大小和字体样式,以及元素的大小、位置和背景等。通过使用CSS,可以使网页更具吸引力、易读性和可访问性。

二、使用方式

1. 基本语法

选择器 { 属性1: 值1; 属性2: 值2; … }

2. 引入方式

1.行内式

行内式也称为内联样式,是通过标记的stvle属性来设置元素的样式。

<标记名style="属性1:属性值1;属性2:属性值2;属性3:属性值3;"> 内容 </标记名>

2.内嵌式

内嵌式是将CSS代码集中写在HTML文档的头部标记中,并且用**

<head>
<style type="text/css">
    选择器{属性1:属性值1;属性2:属性值2;属性3:属性值3;}
</style>
</head>
div{
    color: red;
    font-size: 20px;
}

3. 链入式

链入式是将所有的样式放在一介或多个以.css为扩展名的外部样式表文件中,通过标记将外部样式表文件链接到HTML文档中。

<head>
    <link href="Css文件的路径"type="text/css"rel="stylesheet"/>
</head>

3. 选择器

1. 标签选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 3.链入式 -- 开发的时候一般都会使用这种方式-->
    <link rel="stylesheet" href="./style.css">

    <!-- 2.内嵌式 -->
	<style>
        div{
            color: red;
            font-size: 20px;
        }
    </style>
</head>
<body>
    <!-- 1.引入css样式 - 行内式,不推荐,写标签的地方建议只写标签 -->
    <div style="color: red;font-size: 20px;">123</div>
    <div>123</div>
    
</body>
</html>

上述案例中style标签中的div就属于标签选择器

2.类选择器

<!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>
        /*
            选择class属性值为box的标签 -- 可以有多个标签有相同的class属性值 
            每个class标签可以有多个名字
        */
        .box{
            color: red;
            font-size: 20px;
        }
        .box1{
            width: 100px;
            height: 100px;
            font-size: 50px;
            background-color: aliceblue;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: aqua;
        }
    </style>
</head>
<body>
    <div class="box box1">123</div>
    <div class="box box2">123</div>
    <p class="box">这是p标签</p>
</body>
</html>

3. id选择器

id选择器使用“#”进行标识,后面紧跟id名,其基本语法格式如下:

/* id名{属性1:属性值1;属性2:属性值2;属性3:属性值3;} */
<style>
	#box{
	    width: 100px;
	    height: 100px;
	    background-color:aquamarine;
	}
</style>

4. 通配符选择器

<style>
    *{
        color: red;
        font-size: 10px;
        /* 清除样式 */
        list-style: none;
    }
</style>

4. css属性

1. 文本样式属性

学习HTML时,可以使用文本样式标记及其属性控制文本的显示样式,但是这种方式繁琐且不利于代码的共享和移植。为此,CSS提供了相应的文本样式属性。

为了更方便的控制网页中各种各样的字体,css提供了一系列的字体样式属性

  1. font-size属性用于设置字号。

    • 常用单位

      1. 像素(px):像素是最常用的单位,它表示屏幕上的一个物理像素。例如,font-size: 16px; 表示文本的大小为16像素。
      2. 百分比(%):百分比单位相对于父元素的尺寸来计算。例如,font-size: 120%; 表示文本的大小为父元素字体大小的120%。
      3. em(em):em单位相对于当前元素的字体大小来计算。例如,font-size: 2em; 表示文本的大小为当前元素字体大小的两倍。
      4. rem(rem):rem单位相对于根元素(通常是元素)的字体大小来计算。例如,font-size: 1.5rem; 表示文本的大小为根元素字体大小的1.5倍。
      5. vw(视口宽度单位):vw单位是相对于视口宽度的百分比单位。例如,font-size: 5vw; 表示文本的大小为视口宽度的5%。
      6. vh(视口高度单位):vh单位是相对于视口高度的百分比单位。例如,font-size: 10vh; 表示文本的大小为视口高度的10%。
      7. rem和em的区别:rem单位相对于根元素的字体大小计算,而em单位相对于当前元素的字体大小计算。rem单位可以更好地控制整个页面的大小,而em单位相对于父元素的尺寸来计算,可以用于更细粒度地控制元素的大小。
  2. font-family属性用于设置字体。

    • 常用字体
      1. Arial:这是一种无衬线字体,广泛用于Web设计中。
      2. Helvetica:也是一种无衬线字体,非常相似于Arial。
      3. Times New Roman:这是一种衬线字体,很常见于印刷和出版物中
      4. Georgia:也是一种衬线字体,适合用于阅读大段文字。
      5. Verdana:这是一种宽松的无衬线字体,适合在小尺寸和低分辨率屏幕上使用。
      6. Tahoma:这也是一种无衬线字体,比较紧凑,适合用于小尺寸和高分辨率屏幕。
  3. font-weight属性用于定义字体的粗细。

    • 常用属性
      1. normal:默认值,表示使用正常的字体粗细。
      2. bold:表示使用粗体字体。
      3. bolder:更加粗体的字体,相对于父元素的字体粗细而言。
      4. lighter:更加细的字体,相对于父元素的字体粗细而言。
      5. 数字值(100、200、…、900):表示使用特定的字体粗细,数字越大表示字体越粗。常用的数字值有100(thin)、400(normal)、700(bold)。
      6. initial:表示使用默认的字体粗细。
      7. inherit:表示继承父元素的字体粗细。
  4. font-variant属性用于设置变体(字体变化)。

    • 属性值

      1. normal:默认值,不改变字体的大小写形式。
      2. small-caps:将所有小写字母转换为小型大写字母,同时保持大写字母不变。
  5. font-style属性用于定义字体风格

    • 属性

      1. normal:默认值,标准的字体样式。
      2. italic:斜体字体样式。
      3. oblique:倾斜字体样式。
  6. font属性用于对字体样式进行综合设置。

    • 在CSS的font属性中,参数的顺序是有特定的规定的。它们的顺序应该按照以下顺序排列:

      1. font-style(字体样式)
      2. font-variant(字体变体)
      3. font-weight(字体粗细)
      4. font-size(字体大小)
      5. line-height(行高)
      6. font-family(字体系列)

2. 文本外观属性

  1. color:设置文本颜色。

  2. font-family:设置文本的字体系列。

  3. font-size:设置文本的字体大小。

  4. font-weight:设置文本的字体粗细。

  5. font-style:设置文本的字体样式,比如斜体。

  6. text-align:设置文本的对齐方式,比如左对齐(left)、居中对齐(center)、右对齐(right)等。

  7. text-decoration:设置文本的装饰效果,比如下划线(underline)、上划线(overline)、删除线(line_through)等。

  8. text-transform:设置文本的大小写转换,比如大写、小写、首字母大写等。

    1. none:不进行大小写转换,保持原样。
    2. capitalize:将每个单词的首字母转换为大写。
    3. uppercase:将文本中的所有字母转换为大写。
    4. lowercase:将文本中的所有字母转换为小写。
    5. initial:将属性重置为默认值。
    6. inherit:从父元素继承属性值。
  9. letter-spacing:设置字符间的间距。

  10. line-height:设置行高,控制行与行之间的距离。

  11. white-space:设置文本的处理方式,比如处理空格、换行等。

  12. text-indent 用于设置首行文本的缩进,其属性值可为不同的数值,em字符宽度的倍数,或相对于浏览器窗口的百分比,允许使用负值,建议使用em设置单位

  13. background-color:背景颜色,可以使用rgb(30,0,0),十六制颜色(#ccc),英文单词(red)

5. 元素类型及其转换

1. 元素的类型

HTML标记被定义成了不同的类型,一般分为块标记和行内标记,也称块元素和行内元素。

  1. 块元素

    1. 在页面中以区域块的形式出现。
    2. 每个块元素通常都会独自占据—整行或多整行
    3. 可以对其设置宽度、高度、对齐等属性。
    4. 常见的块元素:h1-h6,div,p,li,ol,ul
  2. 行内元素

    1. 不占有独立的区域。
    2. 仅仅靠自身的字体大小和图像尺寸来支撑结构。
    3. 一般不可以设置宽度、高度、对齐等属性。
    4. 常见的行内元素:strong,b,a,em,u(下划线),span
  3. 行内块元素

    1. 不会独占一行
    2. 能够调整宽高
    3. 本身高度默认是由内容撑开的

行内块元素的使用场景包括创建按钮、图像展示、菜单栏等。通过使用行内块元素可以实现一些复合性的布局效果,并且可以在不破坏文本流的情况下控制元素的尺寸和外观。

2. 元素的转换

请添加图片描述

<!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;
            background-color: antiquewhite;
            /* 转换成行内块元素 */
            /* 注意行内元素inline和行内块元素inline-block */
            display: inline-block;
        }
    </style>
</head>
<body>
    <div>box1</div>
    <div>box2</div>

    <span>这是span标签</span>
</body>
</html>

6.css高级特性

1. 复合选择器

  1. 标签指定选择器
    标签指定式选择器又称交集选择器,由两个选择器构成,其中第一个为标记选择器,第二个为class选择器或id选择器,两个选择器之间不能有空格,如h3.special或p#one。
<!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>
        /* 交集选择器 :单独选中class属性为box1的div标签*/
        div.box1{
            width: 100px;
            height: 100px;
            background-color: antiquewhite;
        }
    </style>
</head>
<body>
    <!-- 交集选择器示例 -->
    <div class="box1">div标签</div>
    <li>
        <p class="box2">p标签</p>
    </li>
    <span>span标签</span>
    <div>这也是一个div标签</div>
</body>
</html>
  1. 后代选择器
    后代选择器用来选择元素或元素组的后代,其写法就是把外层标记写在前面,内层标记写在后面,中间用空格分隔。当标记发生嵌套时,内层标记就成为外层标记的后代。
<!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>
        /* 后代选择器 -- 所有代*/
        ul li{
            font-size: 50px;
        }

        /* 子选择器 -- 只有第一代 */
        ul>li{
            font-size: 50px;
        }
    </style>
</head>
<body>
    <!-- 后代选择器示例 -->
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <span>
            <li>4</li>
        </span>
    </ul>
    <ol>
        <li>4</li>
        <li>5</li>
        <li>6</li>
    </ol>
</body>
</html>
  1. 并集选择器
    并集选择器是各个选择器通过逗号连接而成的,任何形式的选择器都可以作为并集选择器的一部分。若某些选择器定义的样式完全或部分相同,可利用并集选择器为它们定义相同的样式。
<!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和div标签 -- 并集选择器 */
        div,p{
            width: 200px;
            height: 200px;
            background-color: yellow;
        }
        .box1,.box2{
            width: 100px;
            height: 100px;
            background-color:yellowgreen;
        }
    </style>
</head>
<body>
    <!-- 并集选择器示例 -->
    <div class="box1">div标签</div>
    <li>
        <p class="box2">p标签</p>
    </li>
    <span>span标签</span>
</body>
</html>

2. css层叠性和继承性

1. 层叠性

所谓层叠性是指多种CSS样式的叠加。

2. 继承性

所谓继承性是指书写CSS样式表时,子标记会继承父标记的某些样式,如文本颜色和字号。

并不是所有的CSS属性都可以继承,例如。下面的属性就不具有继承性:边框属性,定位属性,内外边距属性,布局属性,背景属性,元素宽高属性

3. css优先级

思考? 网页制作时,对统一元素,应用不同的背景,会出现什么情况?

定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。

<p class="father" id="header">
    <strong class="blue">文本的颜色</strong>

请添加图片描述在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:继承样式的权重为0。行内样式优先。权重相同时,CSS遵循就近原则。CSS定义了一个important命令,该命令被赋予最大的优先级


总结

本节主要介绍了css 的基本用法和属性,内容较多,多多练习,熟能生巧!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

isinstance()学习

aa {} if isinstance(aa,dict):print("是")aa 2 if isinstance(aa,dict):print("是")aa 2 if isinstance(aa,int):print("是")aa [] if isinstance(aa,list):print("list")aa [1,2,3] if isinstance(aa,list):print("list"…

模拟算法(4)_外观数列

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 模拟算法(4)_外观数列 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 1. 题目链…

选择排序:直接选择排序、堆排序

目录 直接选择排序 1.选择排序的基本思想 2.直接选择排序的基本思想 3.直接插入排序的代码思路步骤 4.直接选择排序代码 5.直接选择排序的特性总结 堆排序 一、排升序&#xff0c;建大堆 1.利用向上调整函数建大堆 1.1.建立大堆的思路 1.2.以下是具体步骤&#xff1a…

Android Framework AMS(01)AMS启动及相关初始化1-4

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要涉及systemserver启动AMS及初始化AMS相关操作。同时由于该部分内容分析过多&#xff0c;因此拆成2个章节&#xff0c;本章节是第一章节&…

Solidity 存储和内存管理:深入理解与高效优化

在 Solidity 中&#xff0c;存储和内存管理是编写高效智能合约的关键组成部分。合约执行的每一步操作都可能涉及到数据的存储和读取&#xff0c;而这些操作对 gas 的消耗有很大影响。因此&#xff0c;理解 Solidity 的存储模型以及如何优化数据的管理对于合约的安全性、性能和成…

pytorch之梯度累加

1.什么是梯度&#xff1f; 梯度可以理解为一个多变量函数的变化率&#xff0c;它告诉我们在某一点上&#xff0c;函数的输出如何随输入的变化而变化。更直观地说&#xff0c;梯度指示了最优化方向。 在机器学习中的作用&#xff1a;在训练模型时&#xff0c;我们的目标是最小…

day2网络编程项目的框架

基于终端的 UDP云聊天系统 开发环境 Linux 系统GCCUDPmakefilesqlite3 功能描述 通过 UDP 网络使服务器与客户端进行通信吗&#xff0c;从而实现云聊天。 Sqlite数据库 用户在加入聊天室前&#xff0c;需要先进行用户登录或注册操作&#xff0c;并将注册的用户信息&#xf…

P4、P4D、HelixSwarm 各种技术问题咨询

多年大型项目P4仓库运维经验&#xff0c;为你解决各种部署以及标准工业化流程问题。 Perforce 官网SDPHelixCore GuideHelixSwarm GuideHelixSwarm Download

SpringBoot基础(三):Logback日志

SpringBoot基础系列文章 SpringBoot基础(一)&#xff1a;快速入门 SpringBoot基础(二)&#xff1a;配置文件详解 SpringBoot基础(三)&#xff1a;Logback日志 目录 一、日志依赖二、日志格式1、记录日志2、默认输出格式3、springboot默认日志配置 三、日志级别1、基础设置2、…

家长们,你们认为孩子沉迷游戏严重还是沉迷Linux严重呢

matrix禁食 ​ 计算机技术与软件专业技术资格证持证人 ​ 关注 谢邀 Hieronymus no-sh 218 人赞同了该回答 十年前&#xff0c;你还能得到一个自己能控制的计算机系统&#xff0c;现在&#xff0c;窗口期早走过了。普通人不懂软件&#xff0c;但因该懂人心啊&#xff0c;人心一…

使用Apifox创建接口文档,部署第一个简单的基于Vue+Axios的前端项目

前言 在当今软件开发的过程中&#xff0c;接口文档的创建至关重要&#xff0c;它不仅能够帮助开发人员更好地理解系统架构&#xff0c;还能确保前后端开发的有效协同。Apifox作为一款集API文档管理、接口调试、Mock数据模拟为一体的工具&#xff0c;能够大幅度提高开发效率。在…

武汉自闭症儿童寄宿学校:开启学习与成长的新篇章

武汉与广州的自闭症教育之光&#xff1a;星贝育园开启学习与成长新篇章 在自闭症儿童教育的广阔领域&#xff0c;寄宿学校以其独特的教育模式和全方位的关怀&#xff0c;为这些特殊孩子提供了学习、成长与融入社会的宝贵机会。虽然本文标题提及了武汉自闭症儿童寄宿学校&#…

【HTML+CSS】仿电子美学打造响应式留言板

创建一个响应式的留言板 在这篇文章中&#xff0c;我们将学习如何创建一个简单而美观的留言板&#xff0c;它将包括基本的样式和动画效果&#xff0c;以及响应式设计&#xff0c;确保在不同设备上都能良好显示。 HTML 结构 首先&#xff0c;我们创建基本的HTML结构。留言板由…

8646 基数排序

### 思路 基数排序是一种非比较型排序算法&#xff0c;通过逐位&#xff08;从最低位到最高位&#xff09;对数字进行排序。每次分配和收集后输出当前排序结果。 ### 伪代码 1. 读取输入的待排序关键字个数n。 2. 读取n个待排序关键字并存储在数组中。 3. 对数组进行基数排序&…

MinIO 在windows环境下载和安装

目录 1.MinIO&#xff08;windows&#xff09;下载链接&#xff1a; 2. 启动MinIO &#xff08;1&#xff09;直接启动MinIo &#xff08;2&#xff09;指定端口号启动MinIo 3.通过创建.bat文件帮助启动MinIO 1.MinIO&#xff08;windows&#xff09;下载链接&#xff1a;…

国外电商系统开发-运维系统批量添加服务器

您可以把您准备的txt文件&#xff0c;安装要求的格式&#xff0c;复制粘贴到里面就可以了。注意格式&#xff01; 如果是“#” 开头的&#xff0c;则表示注释&#xff01;

Python数据可视化--Matplotlib--入门

我生性自由散漫&#xff0c;不喜欢拘束。我谁也不爱&#xff0c;谁也不恨。我没有欺骗这个&#xff0c;追求那个&#xff1b;没有把这个取笑&#xff0c;那个玩弄。我有自己的消遣。 -- 塞万提斯 《堂吉诃德》 Matplotlib介绍 1. Matplotlib 是 Python 中常用的 2D 绘图库&a…

ArkTS语法

一、声明 格式:关键字 变量/常量名 : 类型注释 = 值 变量声明 let count : number = 0; count = 40; 常量声明 const MAX_COUNT : number = 100; 二、数据类型 基本数据类型:string、number、boolean等 引用数据类型:Object、Array、自定义类等 …

【笔记】选择题笔记+数据结构笔记

文章目录 2014 41方法一先序遍历方法二 连通分量是极大连通子图 一个连通图的生成树是一个极小连通子图 无向图的邻接表中&#xff0c;第i个顶点的度为第i个链表中的结点数 邻接表和邻接矩阵对不同的操作各有优势。 最短路径算法: 单源最短路径 已知图G(V,E)&#xff0c;我们…