一、与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前端程序员。
文章来源:原创_绲墓适_
通过浮动可以使一个元素向其父元素的左侧或右侧移动,我们使用float属性来设置于元素的浮动
注意,元素设置浮动以后,水平布局的等式便不需要强制成立 。元素设置浮动以后,会完全从文档流中脱离,不再占用文档流的位置,所以元素下边的还在文档流中的元素会自动向上移动
(2)设置浮动以后元素会向父元素的左侧或右侧移动,
(3)浮动元素默认不会从父元素中移出
(4)浮动元素向左或向右移动时,不会超过它前边的其他浮动元素
(5)如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移
(6)浮动元素不会超过它上边的浮动的兄弟元素,最多最多就是和它一样高
实际上,浮动属性一开始创建出来的原因就是为了实现文字环绕的效果的,只是后来大家发现利用浮动可以很好地处理页面布局的问题,所以现在更多时候是利用它来做布局的功能。。。
我们知道,块元素和行内元素在文档流中都有着各自的布局特点,比如块元素独占一行等。那么如果脱离了文档流,块元素和行内元素分别会有什么样的影响呢?
1、块元素不在独占页面的一行
2、脱离文档流以后,块元素的宽度和高度默认都被内容撑开
1、行内元素脱高文档流以后会变成块元素,特点和块元素一样
也就是说,一旦脱离文档流以后,我们就不需要再区分块和行内了。
我们可以看一下下面的案例,在没有使用 clear 属性前,对于两个兄弟元素,如果前者设置为浮动,那么由于其脱离了文档流,那么后者就会移动到前者原先的位置上。如果我们不想元素受到其他元素的浮动影响,那么就可以通过设置 clear 属性来解决这个问题。
clear底层实现的原理是:设置清除浮动以后,浏览器会自动为元素添加一个margin,以使其位置不受其他元素的影响
我们可以看下面这个案例,父 div 元素中包含着一个设置为浮动的 div 子元素,由于子元素设置为浮动,脱离了文档流,且父元素中没有指定高度,所以此时一旦子元素脱离了文档流后,就缺少了支撑起父元素高度的元素。相比于这样的效果,我们更希望即使子元素设置为浮动,但父元素依然可以包裹住子元素(或者说是有着子元素的高度,不至于塌陷)。
BFC(Block Formatting Context)块级格式化环境
BFC是一个css中的一个隐含的属性, 当元素开启BFC后,该元素会变成一个独立的布局区域 。可以理解为,此时元素内的后代元素不会再把其他样式传递到外面了。
元素开启BFC后的特点
1.开启BFC的元素不会被浮动元素所覆盖
2.开启BFC的元素子元素和父元素外边距不会重叠
3.开启BFC的元素可以包含浮动的子元素
可以通过一些特殊方式来开启元素的BFC
1、设置元素的浮动(不推荐)
2、将元素设置为行内块元素(不推荐)
需要注意的是,虽然开启元素的BFC环境可以解决高度塌陷的问题,但是这还不是最完美的解决方案,在某些特殊的环境下还是会有问题。
我们回顾一下,高度塌陷产生的原因是什么?主要是因为父元素没有设置高度,所以父元素的高度由子元素的高度决定,一旦子元素设置为浮动后脱离了文档流,那么此时父元素就会由于没有子元素的支撑而塌陷。
那么如果我们能够实现,手动在浮动的子元素后面放入一个无内容的块元素,且清除其受到的 float 影响,那么此时这个块元素就会落在浮动的元素下方,又由于(自身没有设置高度的)父元素的高度由子元素的高度决定,所以此时父元素因为要包裹新增的无内容块元素,也就自然可以包裹浮动的元素了。
所谓的clearfix样式,其实核心就是在第二种解决方式的基础上,对样式做一个进一步的封装,使其既可以解决高度塌陷的问题,还可以解决父子元素外边距重叠的问题。