CSS-DAY1
一共有七天,加油,一天大概三十节
1.CSS简介
1.1HTML的局限性
HTML只关注内容的语义,并且很丑
1.2CSS-网页的美容师
CSS 是层叠样式表 ( Cascading Style Sheets ) 的简称.
有时我们也会称之为 CSS 样式表或级联样式表。
CSS 是也是一种标记语言 CSS 主要用于设置 HTML 页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、 边距等)以及版面的布局和外观显示样式。
CSS让我们的网页更加丰富多彩,布局更加灵活自如。
简单理解:CSS 可以美化 HTML , 让 HTML 更漂亮, 让页面布局更简单。
总结:
- HTML 主要做结构,显示元素内容
- CSS 美化 HTML ,布局网页
- CSS 最大价值: 由 HTML 专注去做结构呈现,样式交给 CSS,即 结构 ( HTML ) 与样式( CSS ) 相分离
1.3CSS语法规范
CSS 规则由两个主要的部分构成:选择器以及一条或多条声明。
选择器是用于指定 CSS 样式的 HTML 标签,花括号内是对该对象设置的具体样式
属性和属性值以“键值对”的形式出现
属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等
属性和属性值之间用**英文“:”**分开
多个“键值对”之间用**英文“;”**进行区分
所有的样式,都包含在 标签内,表示是样式表。
一般写到
与
之间
例如:
head>
style>
h4 {
color: blue;
font-size: 100px;
}
style>
head>
1.4 CSS 代码风格
以下代码书写风格不是强制规范,而是符合实际开发书写方式.
- 样式格式书写
- 样式大小写风格
- 样式空格风格
样式格式书写
采用展开格式进行书写(更加直观)
h3 {
color: pink;
font-size: 20px;
}
样式大小写
非特殊情况,采用小写而非大写
空格规范
h3 {
color: pink;
}
① 属性值前面,冒号后面,保留一个空格
② 选择器(标签)和大括号中间保留空格
CSS基础选择器
选择器的作用就是选择标签用的
选择器分类
选择器分为基础选择器和复合选择器两大类
基础选择器
基础选择器是由单个选择器组成的
基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器
1)标签选择器
标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定 统一的 CSS 样式。
语法:
标签名 {
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
}
作用
标签选择器可以把某一类标签全部选择出来,比如所有的
标签。
优点 能快速为页面中同类型的标签统一设置样式。
缺点 不能设计差异化样式,只能选择全部的当前标签。
2)类选择器(更常使用)
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器
语法
结构需要用class属性来调用class 类
在head中:
.red {
color: red;
}
在body中:
div class="red">
变红色
div>
注意
① 类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。
② 可以理解为给这个标签起了一个名字,来表示。
③ 长名称或词组可以使用中横线来为选择器命名。
④ 不要使用纯数字、中文等命名,尽量使用英文字母来表示。
⑤ 命名要有意义,尽量使别人一眼就知道这个类名的目的。
⑥ 命名规范:见附件( Web 前端开发规范手册.doc)
多类名
使用方法:
红色
(1) 在标签class 属性中写 多个类名
(2) 多个类名中间必须用空格分开
(3) 这个标签就可以分别具有这些类名的样式
使用场景:
(1) 可以把一些标签元素相同的样式(共同的部分)放到一个类里面.
(2) 这些标签都可以调用这个公共的类,然后再调用自己独有的类.
(3) 从而节省CSS代码,统一修改也非常方便.
3)id选择器
HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以“#" 来定义
语法:
#id名{
属性: 属性值;
...
}
例如:
#red {
color: red;
}
注意:id 属性只能在 HTML 文档中使用一次(与类选择器的最大区别)
id 选择器和类选择器的区别
① id 选择器和类选择器最大的不同在于使用次数上。
②类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。
4)通配符选择器
在 CSS 中,通配符选择器使用“*****”定义,它表示选取页面中所有元素(标签)。
语法:
* {
属性1: 属性值1;
...
}
通配符选择器不需要调用, 自动就给所有的元素使用样式
特殊情况才使用通配符选择器,后面讲解使用场景(以下是清除所有的元素标签的内外边距,后期讲) 例如:
* {
margin: 0;
padding: 0;
}
总结
基础选择器 | 作用 | 特点 | 使用情况 | 用法 |
---|---|---|---|---|
标签选择器 | 可以选出所有相同的标签,比如p | 不能差异化选择 | 较多 | p {color: red;} |
类选择器 | 可以选出1个或者多个标签 | 可以根据需求选择 | 非常多 | .类名 {color: red;} |
id选择器 | 一次只能选择1个标签 | 只能被使用一次 | 一般和js搭配 | #id名{color: red;} |
通配符选择器 | 选择所有的标签 | 选择的太多,有部分不需要 | 特殊情况使用 | * {color: red;} |
- 每个基础选择器都有使用场景,都需要掌握
- 如果是修改样式, 类选择器是使用最多的
CSS 字体属性
CSS Fonts (字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)。
3.1 字体系列
CSS 使用 font-family 属性定义文本的字体系列。
p { font-family:"微软雅黑";}
div {font-family: Arial,"Microsoft Yahei", "微软雅黑";}
- 各种字体之间必须使用英文状态下的逗号隔开
- 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
- 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示
3.2 字体大小
CSS 使用 font-size 属性定义字体大小(单位是px,不能省略)
可以给 body 指定整个页面文字的大小 (标题标签需要单独指定文字大小)
3.3 字体粗细
CSS 使用 font-weight 属性设置文本字体的粗细
属性值 | 描述 |
---|---|
normal | 默认值(不加粗的) |
bold | 定义粗体(加粗的) |
100-900(不跟单位) | 400等同于normal,而700等同于bold |
- 学会让加粗标签(比如 h 和 strong 等) 不加粗,或者其他标签加粗
- 不在100-900区间的会自动默认为400
- 实际开发时,我们更喜欢用数字表示粗细
3.4 文字样式
CSS 使用 font-style 属性设置文本的风格
属性值 | 作用 |
---|---|
normal | 默认值,浏览器会显示标准的字体样式 |
italic | 浏览器会显示斜体的字体样式 |
注意: 平时我们很少给文字加斜体,反而要给斜体标签(em,i)改为不倾斜字体。 (暂时还不理解既然这样为什么还要用em和i)
3.5 字体复合属性
字体复合属性的语法格式:(倾斜 粗细 大小/行高 字体)
body {
font: font-style font-weight font-size/line-height font-family;
//方便记忆:倾斜 粗细 大小/行高 字体
}
- 使用 font 属性时,必须按上面语法格式中的顺序书写,不能更换顺序,并且各个属性间以空格隔开
- 不需要设置的属性可以省略(取默认值),但必须保留 font-size 和 font-family 属性,否则 font 属性将不起作用
3.6 字体属性总结
属性 | 表示 | 注意点 |
---|---|---|
font-style | 字体倾斜 | 倾斜是italic,正常是normal |
foont-weight | 字体粗细 | normal是400,bold是600,bolder是900,数字不跟单位,数字范围是100-900 |
font-size | 字体大小 | 数字+单位(px) |
font-family | 字体 | 常见的有微软雅黑,但实际工作中按照团队约定开写字体 |
font | 字体符合属性 | 顺序为:倾斜 粗细 大小/行高 字体 ,大小和字体必须保留,否则font不生效 |
CSS文本属性
4.1文本颜色
color属性用于定义文本的颜色
例如:
p {
color: aqua;
color: #0f83e174;
color: rgb(255, 0, 0);
}
表示 | 属性值 |
---|---|
预定义的颜色值 | red,green,blue等 |
十六进制 | #FF0000,#FF6600,#29D794等 |
RGB代码 | rgb(255,0,0)或rgb(100%,0%,0%) |
开发中最常用的是十六进制
4.2 对齐文本
text-align 属性用于设置元素内文本内容的水平对齐方式。
p {
text-align: center;
text-align: right;
}
属性值 | 解释 |
---|---|
left | 左对齐(默认值) |
right | 右对齐 |
center | 居中对齐 |
4.3 装饰文本
text-decoration属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上划线等。
div {
text-decoration: underline;下划线
text-decoration: overline;上划线
text-decoration: line-through;删除线
}
将锚点链接的下划线删掉
a {
text-decoration: none;没有划线
}
属性值 | 描述 |
---|---|
none | 默认。没有装饰线**(最常用)** |
underline | 下划线。链接a自带下划线**(常用)** |
overline | 上划线。(几乎不用) |
line-through | 删除线。(不常用) |
重点记住如何添加下划线 ?(underline) 如何删除下划线 ?(none) 其余了解即可
4.4 文本缩进
text-indent(文本缩进) 属性用来指定文本的第一行的缩进,通常是将段落的首行缩进。
p {
text-indent: 20px;
或者
text-indent: 2em;
}
通过设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值。
em 是一个相对单位,就是当前元素(font-size) 1 个文字的大小, 如果当前元素没有设置大小,则会按照父元 素的 1 个文字大小。
4.5 行间距
line-height 属性用于设置行间的距离(行高)。可以控制文字行与行之间的距离
行高=上间距+文本高度+下间距
div {
line-height: 26px;
}
4.6 文本属性总结
属性 | 表示 | 注意点 |
---|---|---|
color | 文本颜色 | 我们通常用十六进制的简写形式 比如#fff |
text-align | 文本对齐 | 可以设定文字水平的对齐方式 |
text-decoration | 文本装饰 | 重点是 underline添加下划线 none为没有装饰线 |
text-indent | 文本缩进 | 通常用于段落首行缩进两个字的距离 如text-indent: 2em; |
line-height | 行高 | 控制行与行之间的距离 |
CSS引入方式
5.1CSS的三种样式表
按照 CSS 样式书写的位置(或者引入的方式),CSS 样式表可以分为三大类:
- 内部样式表(嵌入式)
- 行内样式表(行内式)
- 外部样式表(链接式)
优先级:行内>内部>外部
5.2(较多使用)内部样式表(嵌入式)
内部样式表(内嵌样式表)是写到html页面内部. 是将所有的 CSS 代码抽取出来,单独放到一个 标签中
div {
color: red;
font-size: 12px;
}
- 通过此种方式,可以方便控制当前整个页面中的元素样式设置
- 代码结构清晰,但是并没有实现结构与样式完全分离
- 使用内部样式表设定 CSS,通常也被称为嵌入式引入,这种方式是我们练习时常用的方式
5.3(较少使用)行内样式表(行内式)
行内样式表(内联样式表)是在元素标签内部的 style 属性中设定 CSS 样式。适合于修改简单样式
div style="color: blue; font-size: 25px;">
这是行内样式表
div>
- style 其实就是标签的属性
- 使用行内样式表设定 CSS,通常也被称为行内式引入
- 不推荐大量使用,只有对当前元素添加简单样式的时候,可以考虑使用
5.4(重点)外部样式表(链接式)
实际开发都是外部样式表. 适合于样式比较多的情况
核心是:样式单独写到CSS 文件中,之后把CSS文件引入 到 HTML 页面中使用
引入外部样式表分为两步:
- 新建一个后缀名为 .css 的样式文件,把所有 CSS 代码都放入此文件中。
- 在 HTML 页面中,使用
标签引入这个文件。
5.5 CSS 引入方式总结
样式表
优点
缺点
使用情况
控制范围
行内样式表
书写方便,优先级高
结构样式混写
较少
控制一个标签
内部样式表
部分结构和样式相分离
没有彻底分离
较多
控制一个页面
外部样式表
完全实现结构和样式相分离
需要link引入
最多
控制多个页面
Chrome调试工具
Chrome 浏览器提供了一个非常好用的调试工具,可以用来调试我们的 HTML 结构和 CS服务器托管网S 样式
按下F12或者右击页面空白处→检查打开调试工具
在元素页面中,左边是 HTML 元素结构,右边是 CSS 样式。
第一天结束
2024/2/4/00点06分
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 【IOS】SDK does not contain ‘libarclite‘ at the path…
问题 SDK does not contain ‘libarclite服务器托管网’ at the path ‘/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolc…