CSS基础总结(一)

news2024/11/27 2:18:54


文章目录

 一、CSS概述

(1)简介

(2)语法规范

(3)代码风格

二、CSS基础选择器

(1)标签选择器

(2)类选择器

(3)多类名选择器

(4)id选择器

(5)通配符选择器

  总结

 三、CSS字体属性

(1)字体系列

(2)字体大小

(3) 字体粗细

(4)文字样式

(5)字体复合属性

  总结

四、CSS文本属性

(1)文本颜色

(2)文本对齐

(3)文本装饰线

(4)文本缩进

(5)文本行间距

  总结

五、CSS的引入方式

(1)行内式(行内样式表)

(2)嵌入式(内部样式表)

(3)链接式(外部样式表)

  总结

六、综合案例:新闻页面


 一、CSS概述

(1)简介

        CSS是层叠样式表(Cascading Style Sheets)的简称,也称为CSS样式表或者级联样式表。CSS也是和HTML一样属于标记语言,CSS主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等等)、图片的外形(宽高、边框样式、边距等等)以及版面的布局和外观显示样式。简单总结:HTML是网页的骨架结构,CSS是网页的外观皮肤,二者使得网页的结构与样式相分离,可以提高开发效率。

(2)语法规范

CSS规则主要由两部分组成:选择器以及一条或者多条的声明

  •  选择器是用于指定 CSS 样式的 HTML 标签,花括号内是对该对象设置的具体样式
  •  属性和属性值以“键值对”的形式出现
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
  • 属性与属性值之间一定要用英文的冒号隔开
  • 多个键值对之间一定要用英文的分号隔开

(3)代码风格

  • 空格规范:属性值前面,冒号后面,保留一个空格;选择器(标签)和大括号之间保留一个空格
  • 大小写规范:一般选择器、属性名、属性值关键字均使用小写字母
  • 样式格式书写

第一种:紧凑格式

.box {width: 200px;height: 100px;}

第二种:展开格式

.box {
		width: 200px;
		height: 100px;
}

(推荐使用第二种,直观且便于快速定位与修改)


二、CSS基础选择器

        选择器的作用就是根据不同的需求将不同的HTML标签选择出来,然后进行特定的样式编写

(1)标签选择器

        标签选择器 (元素选择器) 指用 HTML 标签名称 作为选择器,按标签名称分类,为页面中某一类标签指定 统一的 CSS 样式。

语法:

标签名{
       属性1: 属性值1; 
       属性2: 属性值2; 
       属性3: 属性值3; 
       ...
}    

示例:

h1 {
	 color: red;
}
  •  作用:标签选择器可以把某一类标签全部选择出来,比如所有的 <div> 标签和所有的 <span> 标签
  • 优点:能快速为页面中同类型的标签统一设置样式。
  • 缺点:不能设计差异化样式,只能选择全部的当前标签。

(2)类选择器

        如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用 类选择器
类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点“.”号显示

语法:

类名 {
 属性1: 属性值1; 
 ...
}

示例:

在HTML中使用Class属性来调用样式

.blue {
		 width: 100px;
		 height: 100px;
		 background-color: blue;
}
<div class="blue">蓝色</div>

注意:

  • 类选择器使用英文点号进行标识,后面紧跟我们自定义的类名,该名称就是类选择器的名字
  • 尽量避免使用纯数字、中文等来命名,尽量使用全英文来标识
  • 长名称或者词组可以使用中横线来为选择器来命名

记忆:样式定义,结构调用。一个或多个,开发最常用。

(3)多类名选择器

        本质上和类名选择器一样,只不过将样式中公共的部分抽离出来单独写一个类选择器,然后在HTML标签中调用多个类选择器,从而使得CSS代码变得简洁,统一修改样式也非常方便快捷。

示例:画盒子

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>类选择器与多类名选择器</title>
		<style>
			.blue {
				width: 100px;
				height: 100px;
				background-color: blue;
			}
			.pink {
				width: 100px;
				height: 100px;
				background-color: pink;
			}
		</style>
	</head>
	<body>
		<div class="blue">蓝色</div>
		<div class="pink">粉色</div>
		<div class="blue">蓝色</div>
	</body>
</html>

观察发现,上面的两个类选择器blue和pink,包含了公共部分的样式代码:

width: 100px; height: 100px;

我们可以将其拿出来单独写一个名为box的类选择器,这样可以简化冗余的样式代码

.box {
			width: 100px;
			height: 100px;
}

如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>类选择器与多类名选择器</title>
		<style>
			.box {
				width: 100px;
				height: 100px;
			}
			.blue {
				background-color: blue;
			}
			.pink {
				background-color: pink;
			}
		</style>
	</head>
	<body>
		<div class="box blue">蓝色</div>
		<div class="box pink">粉色</div>
		<div class="box blue">蓝色</div>
	</body>
</html>

注意,在调用多个类选择器时,类名之间一定要用空格分隔开

(4)id选择器

id选择器可以为标有特定id的HTML元素来指定特定的样式

HTML 元素以 id 属性 来设置 id 选择器,CSS 中 id 选择器以“ # " 来定义。

语法:

#id名 {
 属性1: 属性值1; 
 ...
}

示例:

将id为box的盒子设置特定的宽高

#box {
			width: 100px;
			height: 100px;
}

id选择器与类选择器的区别:

  • 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字可以被多个人使用
  • id 选择器好比人的身份证号码,全中国是唯一的,不得重复

(5)通配符选择器

        顾名思义,可以设置全局的样式。在CSS中, 通配符选择器使用“ * ”定义,它表示选取页面中所有元素(标签),它不需要调用,自动就给所有的元素使用其定义的样式。

语法:

* {
 属性1: 属性值1; 
 ...
}

示例:

清除页面内所有元素标签的内外边距

* {
    margin: 0;
    padding: 0;
}

总结


 三、CSS字体属性

CSS Fonts (字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)

(1)字体系列

CSS 使用 font-family 属性定义文本的字体系列,下面代码将所有段落内的字体设置为黑体,将所有div内部的字体变为指定字体
p {
	font-family: "黑体";
}
div {
    font-family: Arial,"Microsoft Yahei", "微软雅黑";
}
注意:
  • 各种字体之间必须使用英文状态下的逗号隔开
  • 一般情况下,如果有空格隔开的多个单词组成的字体必须加引号.
  • 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示,保证兼容性

(2)字体大小

CSS 使用 font-size 属性定义字体大小
p { 
   font-size: 20px; 
}
  • px(像素)大小是我们网页的最常用的单位
  • 谷歌浏览器默认的文字大小为16px
  • 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确值大小,不要默认大小

(3) 字体粗细

CSS 使用 font-weight 属性设置文本字体的粗细。
p { 
   font-weight: bold;
}
属性值      含义
normal默认值(不加粗)
bold定义粗体(加粗的)
100~900400=normal 700=bold 后面不加单位

(4)文字样式

CSS 使用 font-style 属性设置文本的风格
p { 
   font-style: normal;
}
属性值作用
normal默认值,浏览器会显示标准的字体样式
italic斜体的字体样式

(5)字体复合属性

  字体属性可以把以上文字样式综合来写, 这样可以更节约代码
语法:
body { 
    font: font-style font-weight font-size/line-height font-family;
}

注意:

  • 使用 font 属性时,必须按上面语法格式中的顺序书写, 不能更换顺序 ,并且各个属性间以 空格 隔开
  • 不需要设置的属性可以省略(取默认值),但 必须保留 font-size 和 font-family 属性 ,否则 font 属性将不起作用

总结


四、CSS文本属性

        CSS Text(文本)属性可定义文本的 外观 比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等。

(1)文本颜色

color 属性用于定义文本的颜色。
div { 
    color: red; 
}
颜色表示方法属性值
预定义的颜色值red,green,blue等等
十六进制#FF0000,#29D794等等
RGB代码rgb(255,0,0)或者rgb(100%,0%,0%)

(2)文本对齐

text-align 属性用于设置元素内文本内容的水平对齐方式。
div { 
   text-align: center;
}
属性值含义
left左对齐(默认值)
right右对齐
center居中对齐

(3)文本装饰线

text-decoration 属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。
div { 
    text-decoration:underline;
}
属性值描述
none默认,无装饰线
underline下划线(hrml标签a自带下划线)
overline      上划线
line-through删除线

(4)文本缩进

text-indent 属性用来指定文本的第一行的缩进,通常是将 段落的首行缩进。
div { 
   text-indent: 10px;
}
p { 
   text-indent: 2em;
}
em 是一个相对单位,就是当前元素(font-size) 1 个文字的大小 , 如果当前元素没有设置大小,则会按照父元素的 1 个文字大小。

(5)文本行间距

line-height 属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离.
p { 
   line-height: 26px;
}

总结


五、CSS的引入方式

(1)行内式(行内样式表)

        内部样式表(内嵌样式表)是写到html页面内部. 是将所有的 CSS 代码抽取出来,单独放到一个 <style> 标签中。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>test</title>
		<style>
			.box {
				width: 100px;
				height: 100px;
			}
			.blue {
				background-color: blue;
			}
			.pink {
				background-color: pink;
			}
			p {
				font-family: "黑体";
			}
			div {
			    font-family: Arial,"Microsoft Yahei", "微软雅黑";
			}
		</style>
	</head>
	<body>
		<div class="box blue">蓝色</div>
		<div class="box pink">粉色</div>
		<div class="box blue">蓝色</div>
		<p>你好,陌生人!</p>
		<div>哈哈哈哈</div>
	</body>
</html>

 注意:

  • <style> 标签理论上可以放在 HTML 文档的任何地方,但一般会放在文档的<head>标签中
  • 虽然代码结构清晰,但是并没有实现结构与样式完全分离

(2)嵌入式(内部样式表)

        行内样式表(内联样式表)是 在元素标签内部的 style 属性中设定 CSS 样式 。适合于修改简单样式
<div style="color: red; font-size: 12px;">2022卡塔尔世界杯决赛,阿根廷VS法国</div>

 注意:

  • style 其实就是标签的属性
  • 样式写在在双引号中间,写法依然要符合 CSS 规范
  • 一般不推荐使用,只有当元素要添加一个很简单的样式时,可以考虑使用

(3)链接式(外部样式表)

        实际开发都是外部样式表. 适合于样式比较多的情况. 核心是:样式单独写到CSS 文件中,之后把CSS文件引入 到 HTML 页面中使用

引入外部样式表分为两步:

  1. 新建一个后缀名为 .css 的样式文件,把所有 CSS 代码都放入此文件中。
  2. 在 HTML 页面中,使用<link> 标签引入这个文件。
<link rel="stylesheet" href="css文件路径">

 

 示例:

总结


六、综合案例:新闻页面

.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>新闻页面</title>
		<link rel="stylesheet" href="../css/demo01style.css">
	</head>
	<body>
		<h1 style="text-align: center;">击败克罗地亚!阿根廷时隔八年重回决赛,队史第六次踏上决赛舞台</h1>
		<label style="color: gray;text-align: center;">2022-12-14 04:56 来源:<a href="https://www.toutiao.com/article/7176740048165929528/?traffic_source=&in_ogs=&utm_source=&source=search_tab&utm_medium=wap_search&original_source=&in_tfs=&channel=">直播吧</a></label>
		<p>直播吧12月14日讯 世界杯半决赛,阿根廷击败克罗地亚晋级!阿根廷时隔八年重回世界杯决赛,将对阵法国与摩洛哥之间的胜者。</p>
		<p>阿根廷上一次进入世界杯决赛是在2014年,当时阿根廷遭遇加时绝杀。八年之后,阿根廷终于又一次站上决赛舞台。这也是阿根廷队史第六次进入世界杯决赛。</p>
		<p>阿根廷队史曾两次夺得世界杯冠军,分别为1978和1986年,如今他们将冲击第三座世界杯冠军。</p>
		<p>本届世界杯决赛将在北京时间12月18日晚23点举行,场地为卢赛尔体育场。</p>
		<p>梅西这次能否捧起大力神杯,为属于它的时代划上完美的句号?让我们拭目以待吧。</p>
		<img src="../img/meixiyyds.jpg" title="梅西与阿尔瓦雷斯紧紧相拥庆祝进球">
	</body>
</html>

.css

img {
	width: 650px;
	height: 300px;
}
p {
	font-size: 20px;
	text-indent: 2em;
	font-family: "黑体";
}

效果:

 END.

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

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

相关文章

STM32F103xx随记

关于STM32F103xx单片机的一些零碎知识&#xff0c;随时整理下来&#xff0c;方便查阅。 STM32F103xx随记STM32 & STM8 命名STM32F103xx引脚定义表引脚信息芯片手册地址大佬那里抄来的图STM32F103xxADC笔记STM32 & STM8 命名 STM32F103xx引脚定义表 今天在给新的模块添…

直播弹幕系统(二)- 整合RabbitMQ进行消息广播和异步处理

直播弹幕系统&#xff08;二&#xff09;- 整合RabbitMQ进行消息广播和异步处理前言一. Socket服务整合RabbitMQ二. 弹幕服务创建2.1 创建一个公共maven项目2.2 弹幕服务项目创建2.2.1 创建队列和广播型交换机2.2.2 生产者发送最终弹幕数据2.2.3 消费者监听原始弹幕数据2.3 Soc…

安卓11上的存储权限问题

这篇文章&#xff0c;想来发布的有些晚了&#xff0c;安卓11已经发布多时了&#xff0c;关于安卓11上的存储权限变更的文章数不胜数&#xff0c;所以这篇文章只做为自己的一个简单的记录吧&#xff01; 在说11之前&#xff0c;我们先回忆以下10上存储权限的变更&#xff1a;每…

GaiaX开源解读 | 给Stretch(Rust编写的Flexbox布局引擎)新增特性,我掉了好多头发

GaiaX&#xff08;盖亚&#xff09;&#xff0c;是在阿里文娱内广泛使用的Native动态化方案&#xff0c;其核心优势是性能、稳定和易用。本系列文章《GaiaX开源解读》&#xff0c;带大家看看过去三年GaiaX的发展过程。 GaiaX的布局方案 - Flexbox 阿里文娱业务作为一个内容分发…

Linux调试器——gdb

gdb什么是gdbdebug与releasegdb的基本操作查看代码与断点执行与调试监视变量什么是gdb 之前用的一直都是VS编译器进行调试&#xff0c;调试是一个非常重要的过程&#xff0c;在Linux中调试需要用到一个工具就是gdb。 在调试思路上VS编译器和gdb是一样的&#xff0c;但是调试过…

【云原生进阶之容器】第一章Docker核心技术1.5.1节——cgroup综述

1. cgroups概述 1.1 为什么需要cgroup 在Linux里,一直以来就有对进程进行分组的概念和需求,比如session group, progress group等,后来随着人们对这方面的需求越来越多,比如需要追踪一组进程的内存和IO使用情况等,于是出现了cgroup,用来统一将进程进行分组,并在分组的…

51单片机——静态数码管实验,小白讲解

数码管介绍&#xff1a; 数码管是一种半导体发光器件&#xff0c;其基本单元是发光二极管。数码管也称LED数码管&#xff0c;不同行业人士对数码管的称呼不一样&#xff0c;其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管&#xff0c;八段数码管比七段数码管多…

中国计算机大会CNCC【笔记】

中国计算机大会CNCC【笔记】前言推荐中国计算机大会CNCCCNCC 青年精英思想秀主题&#xff1a;当呼吸化为空气——物联网安全云原生一站式数据管理与服务 : 构建云计算数据平台生态计算产业未来应用场景与创新方向展望用开源打造云原生数据库的生态系统CCF 优博的培养与成长最后…

华为HI第二款车,阿维塔11的智能化有什么特点?

作者 | 德新 编辑 | 于婷阿维塔11&#xff0c;这款车不用过多介绍&#xff0c;长安 x 宁德 x 华为 3家联合打造。外观独特&#xff0c;在宝马17年的顶尖设计师Nader Faghihzadeh主导的设计&#xff1b;用料也很足&#xff0c;90度 - 116度的电池&#xff0c;34.99万的起售价&am…

利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态试读版

在 CSDN 和我的知识星球里有朋友向我提出同样的问题&#xff0c;询问如何在 ALV 里实现增删改查操作。 虽然需求只有一句话&#xff0c;但是这个需求背后涉及到的知识点不少&#xff0c;因此笔者会通过几篇文章的篇幅&#xff0c;来介绍这个需求的详细实现步骤。 本文先解决第…

【Linux学习】之访问命令行

【Linux学习】之访问命令行 文章目录【Linux学习】之访问命令行一、基础知识二、练习1.使用 date 命令来显示当前的日期和时间。2.以12小时制显示当前时间(例如&#xff0c;11:42:11AM)。3. 查看/home/student/zcat 的文件类型&#xff0c;是否被人读取?4.使用wc命令和 Bash 快…

看过来,2022最后一期大咖说-大厂可观测来啦~

可观测性的应用创新与落地研讨会 「UGeek大咖说-大厂可观测」 最后一期 活动时间&#xff1a;2022/12/21 15:00 — 17:30 活动平台&#xff1a;线上网络直播间 主办单位&#xff1a;优维科技 内容介绍 白驹过隙&#xff0c;转眼就到了2022年末啦~ 「UGeek大咖说-大厂可观…

A. Tower(暴力 + 看数据范围)

Problem - A - Codeforces 彭教授建造了n个不同高度的积木塔。第i座塔的高度为ai。 寿教授不喜欢这些塔&#xff0c;因为它们的高度是任意的。他决定首先精确地移除其中的m个&#xff0c;然后执行以下一些&#xff08;或不执行&#xff09;操作。 选择一座塔&#xff0c;将其…

MongoDB——Java Client API(Spring Data MongoDB)

[TOC](MongoDB——Java Client API(Spring Data MongoDB)) MongoDB——Java Client API(Spring Data MongoDB) 关于文档注解 由于mongoDB使用是BSON进行存储&#xff0c;Java则是类与对象的概念&#xff0c;所以设计了一套注解用于标注 Document 范围&#xff1a;类 作用&…

表的增删查改基本查询(where-group by-having)

文章目录表的操作表的创建修改表属性&#xff08;轻易不要改&#xff09;数据类型分类类型测试表的增删查改增加插入insert插入否则更新替换Retrieve&#xff08;检索&#xff09;查找selectwhere条件语句的添加姓孙的和孙某where语句无法使用别名的问题&#xff1f;语文成绩&g…

OAK相机depthai最全上手教程

编辑&#xff1a;OAK中国 首发&#xff1a;oakchina.cn 喜欢的话&#xff0c;请多多&#x1f44d;⭐️✍ 内容可能会不定期更新&#xff0c;官网内容都是最新的&#xff0c;请查看首发地址链接。 ▌前言 Hello&#xff0c;大家好&#xff0c;这里是OAK中国&#xff0c;我是助手…

一种数据驱动的自动驾驶汽车前馈补偿器优化方法(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 一个可靠的控制器对于自动驾驶汽车的安全和平稳操纵的执行至关重要。控制器必须对外部干扰&#xff08;如路面、天气、风况等&…

javaweb文件下载案例

html代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <a href"./img/1.jpg">图片</a> <!--这个下载效果是download实…

pikachu靶场越权漏洞实战

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是pikachu靶场越权漏洞实战。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对未…

01背包问题以及有关题目

一、01背包问题详解 确定dp数组以及下标的含义 使用二维数组 dp[i] [j] 表示从下标为[0-i]的物品里任意取&#xff0c;放进容量为j的背包&#xff0c;价值总和最大是多少。 确定递推公式 dp数组的初始化 首先从dp[i][j] 的定义出发&#xff0c;如果背包容量j为0的话&#…