Web前端开发知识点之CSS的使用方式

html-css017

Web前端开发知识点之CSS的使用方式,第1张

今天小编要跟大家分享的文章是关于Web前端开发知识点之CSS的使用方式。本文章小编从与HTML的结合方式、CSS语法、选择器以及盒子模型四个方面进行讲解。下面来和小编一起看一看吧!

一、与HTML的结合方式

CSS与HTML的结合方式一共有三种,分别是:外部样式、内部样式和内联样式。

①外部样式

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用标签链接到样式表。标签在文档的头部:

_

或者可以像下面这样在标签import一个样式表,不过不建议使用。





___


@import"main.css"_


②内部样式

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用标签在文档头部定义内部样式表,就像这样:


_


___


_r_color:_ienna}_


③内联样式

要使用内联样式,你需要在相关的标签内使用样式(style)属性。

_

Thisisaparagraph

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

二、CSS语法

CSS语法规则由两个主要的部分构成:选择器,以及一条或多条声明。

选择器通常是您需要改变样式的HTML元素。

每条声明由一个属性和一个值组成。两条声明之间被分号分开。

属性是您希望设置的样式属性。每个属性有一个值。属性和值被冒号分开。

在下面这个例子中,h1是选择器,color和font-size是属性,red和14px是值。

三、选择器

CSS的选择器主要分为两大类,一类基本选择器;一类扩展选择器。

①基本选择器

基本选择器包括id选择器,元素选择器和类选择器。

id选择器可以为标有特定id的HTML元素指定特定的样式。id选择器以"#"来定义。例如下面代码指定id为red的标签中文本为红色。

#red{color:red}

元素选择器可以为相应的HTML元素指定特定的样式。元素选择器前面没有任何字符。例如下面代码指定div标签中文本为红色。

div{color:red}

类选择器可以为标有特定class的HTML元素指定特定的样式。类选择器以一个点号显示。例如下面代码指定class为center的标签中文本居中对齐。

.center{text-align:center}

②扩展选择器

扩展选择器是在基本选择器的基础上扩展出来的,下面介绍几种常见的。

*选择器(*

{})可以为HTML的所有元素指定特定的样式。例如下面代码指定HTML页面中所有文本为红色。

*{color:red}

并集选择器(选择器1,选择器2{})可以为多个选择器指定特定的样式。例如下面代码指定div和span两种标签中文本为红色。

div,span{color:red}

子选择器(选择器1选择器2{})可以为选择器1中的选择器2指定特定的样式。例如下面代码指定div中span标签文本为红色。

divspan{color:red}

父选择器(选择器1>选择器2{})可以为含有选择器2的选择器1指定特定的样式。例如下面代码指定含有span的div标签文本为红色。

div>span{color:red}

属性选择器(元素[属性="属性值"])可以为含有该属性且属性值等于该值的元素指定特定的样式。其中,元素和属性值可以省略。例如下面代码指定align属性等于center的div标签文本为红色。

div[align="center"]{color:red}

伪类选择器(元素:状态{})可以为该元素处于该状态时指定特定的样式。例如下面的代码指定鼠标悬浮在超链接上时文本为红色。

a:hover{color:red}

四、盒子模型

所有HTML元素可以看作盒子,在CSS中,"box

model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

下面的图片说明了盒子模型:

Margin(外边距)-清除边框外的区域,外边距是透明的。

Border(边框)-围绕在内边距和内容外的边框。

Padding(内边距)-清除内容周围的区域,内边距是透明的。

Content(内容)-盒子的内容,显示文本和图像。

默认情况下,标签的width和height属性指的是content(内容)的宽和高,我们在设置边框和边距的时候一定要注意。如果想要让width和height是最终盒子的大小,可以设置下面的代码:

box-sizing:border-box

以上就是小编今天为大家分享的关于Web前端开发知识点之CSS的使用方式的文章,希望本篇文章能够对正在从事web前端工作和学习的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网,最后祝愿小伙伴们工作顺利,城市一名优秀的web前端程序员。

文章来源:原创_绲墓适_

显然,盒模型比我想象的,比我最开始在前端课程中学到的其实要复杂得多。

我将现阶段学到的内容与过去学习所留下的印象进行对比,得出了如下我以为CSS盒模型中的难点和容易被忽视的点。

它是一切开始的基础

在MDN的文章中,盒模型被分为 标准盒模型 替代盒模型

通常我们一开始学习的盒模型是标准盒模型,它的width和heigth属性所设置的是content的宽度和高度,而不是盒子部分的宽度和高度(把border和它所围起来的部分叫盒子部分)

所以在练习布局的时候,我们有时候会觉得这个width和heigth很怪,并不能很方便直接地将我们心中所想象的布局表达出来,有时甚至需要计算。

而替代盒模型更符合我们的直觉。替代盒模型中的width heigth所指即为border所包括部分的width heigth.

将浏览器默认的标准盒模型改为替代盒模型

margin可以有负数,而padding不可以为负数。

负数意味着样式会重叠入侵。

[图片上传失败...(image-b2c4e1-1642049365894)]

可以参考视频: CSS外边距塌陷 - Web前端工程师面试题讲解

折叠的规则很好理解,大的覆盖小的,长的覆盖短的。

比如A和B的外边距折叠,A的外边距为10, B的外边距为20,那么结果是AB的间距为20。

外边距重叠的情况一共有三种。

之所以是垂直方向,是因为折叠发生在block元素上,block元素并不存在水平相接的情况。

对于Inline元素,比如说两个水平相接的span标签,实测是不会折叠的。

这个有点复杂,MDN的说法如下:

举例如下:

设置了border:solid, 正常:

将border:solid设置为none后,出现了折叠。(可以理解为偏移的参照系变化了,未设置Border,参照变成了上面的divB)

更为深入的探究,等往后遇到了再说吧。

参考: MDN盒模型