CSS基础用法学习 您所在的位置:网站首页 创意表格模板怎么做 CSS基础用法学习

CSS基础用法学习

2023-07-05 02:23| 来源: 网络整理| 查看: 265

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录 前言一、CSS是什么?CSS特点 二、CSS语法规则CSS基础1.选择器通用选择器标签选择器ID 选择器类选择器后代选择器子选择器相邻兄弟选择器通用兄弟选择器分组选择器属性选择器 2.HTML引用CSS内嵌样式表内联样式外部样式表导入样式表 3.CSS基本设置长度单位颜色设置CSS background(背景)CSS字体样式(font)CSS文本格式化链接样式CSS边框样式(border) CSS盒子模型1.内容区(content)2.内边距(padding)3.边框(border)4.外边距(margin) CSS position定位(5种方式)1.静态定位:static2.相对定位:relative3.绝对定位:absolute4.固定定位:fixed5.粘性定位:sticky 页面布局和定位1.CSS float(浮动)清除浮动 2.column多列式布局column-countcolumn-fillcolumn-gapcolumn-rulecolumn-spancolumn-widthcolumns 3.flex布局(弹性布局/弹性盒子)基本概念容器属性项目属性 4.响应式布局(自适应布局)设置 meta 标签媒体查询 总结

前言

CSS(层叠样式表)是一种用于网页布局和设计的语言,它可以改变网页的字体、颜色、间距、边框、背景等样式,从而使网页更具美感和易读性。

在学习CSS时,我们需要掌握一些基本概念,如选择器、样式表、样式规则、继承、优先级等。同时,我们还需了解一些常用的CSS属性和它们的取值,如文本属性、盒子模型属性、背景属性等。

学习CSS也要进行实践,最好是结合HTML和JavaScript来进行综合练习,这样才能更好地理解和运用CSS。为了方便实践,可以使用一些工具,如开发者工具、编辑器、预处理器等。

总之,掌握CSS是Web开发中非常重要的一环,只有在掌握了CSS之后,才能创造出优美而高效的网页设计和布局。

一、CSS是什么?

CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。

CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。

CSS特点

CSS 是 Web 领域的一个突破,它为 HTML 提供了一种描述元素样式的方式,使用 CSS 和 HTML 可以制作出外形优美的网页。总体来说 CSS 具有以下特点: 1)丰富的样式定义

为任何元素设置不同的边框,以及边框与元素之间的内外间距;改变文字的大小、颜色、字体,为文字添加修饰(例如下划线、删除线);为网页设置背景颜色或者背景图片等等。

2)易于使用和修改 CSS 的样式信息不仅可以定义在 HTML 元素的 style 属性中,也可以定义在 HTML 文档 标签内的

3)多页面应用 前面说了可以将 CSS 样式单独存放在一个 .css 格式的文件中,这个文件不属于任何页面,我们可以在不同的页面引用这个 .css 格式的文件,这样就可以统一不同页面的风格。

4)层叠 层叠就是指可以对同一个 HTML 元素多次定义 CSS 样式,后面定义的样式会覆盖前面定义的样式。 5)页面压缩 一个网页其中通常包含大量的 HTML 元素,为了实现某些效果我们往往还需要为这些元素定义样式文件,如果将它们放到一起就会使得我们的 HTML 文档过于臃肿。而将 CSS 样式定义在单独的样式文件中,把 CSS 样式与 HTML 文档分开的话就可以大大减小 HTML 文档的体积,这样浏览器加载 HTML 文档所用的时间也会减少。

二、CSS语法规则

CSS 样式由一系列规则组成,这些规则由 Web 浏览器解析,然后应用于 HTML 文档相应的元素上。CSS 样式规则由三个部分组成,分别是选择器、属性和值:

选择器:由 HTML 元素的 id、class 属性或元素名本身以及一些特殊符号构成,用来指定要为哪个 HTML 元素定义样式,例如选择器p就表示为页面中的所有

标签定义样式;属性:您希望给 HTML 元素设置的样式名称,由一系列关键词组成,例如 color(颜色)、border(边框)、font(字体)等,CSS 中提供了众多属性,您可以通过 W3C 官网查看;值:由数值和单位或者关键字组成,用来控制某个属性的显示效果,例如 color 属性的值可以是 red 或 #F1F1F1 等。

在这里插入图片描述 在 CSS 的语法规则中,属性和值之间需要使用冒号:进行分隔,每个属性和值的组合可以看作一个声明,每个声明的末尾都需要使用分号;作为结尾,属于同一选择器的声明需要使用花括号{ }包裹起来。

选择器 h1 表示要为网页中所有的标签定义样式;属性 color 表示字体颜色,值 blue 则表示将字体设置为蓝色;属性 text-align 表示文本的对齐方式,值 center 则表示将文本的对齐方式设置为居中对齐。 CSS基础 1.选择器 通用选择器

通用选择器用星号*表示,它不匹配某个特定的 HTML 元素,而是匹配 HTML 文档中的每个元素。在开发中,我们通常使用通用选择器来清除 HTML 元素中默认的内外边距,如下所示:

* { margin: 0 auto; padding: 0; } 标签选择器

一个完整的 HTML 文档由各式各样的标签组成,而标签选择器可以通过具体的标签名称来匹配文档内所有同名的标签,如下所示:

p { color: blue; }

p选择器能够匹配文档中所有的

标签。

ID 选择器

ID 选择器用来匹配 HTML 文档中具有指定 ID 属性的标签,ID 选择器的定义需要用到井号#,后面紧跟 ID 属性的值,如下所示:

#nav { color: red; }

#nav选择器能够匹配文档中具有id="nav"属性的标签。

类选择器

类选择器可以根据标签的 class 属性匹配具体的 HTML 标签,所有符合条件的标签都会根据选择器内的样式进行格式化。类选择器的定义需要用到一个英文的句号.,后面紧跟 class 属性的值,如下所示:

.black { color: black; }

.black选择器能够匹配文档中所有具有class="black"属性的标签。

由于 class 属性不是唯一的,可以应用于不同的标签,因此您还可以在定义类选择器时指定具体的标签,如下所示:

p.black { color: black; }

p.black选择器仅会将其中的样式应用到所有具有class="black"属性的

标签中,对于其它的具有class="black"属性的标签则没有影响。

另外,一个 HTML 标签中 class 属性可能不止一个,例如:

假如我们要为所有 class 属性包含 info 的元素设置粗体,为所有 class 属性包含 selected 的元素设置红色字体,为 class 属性中既包含 info 又包含 selected 的元素设置蓝色背景,则可以写成下面这样:

.info { font-weight:bold; } .selected { color: red; } .info.selected { background: blue; }

这种由多个 class 属性值所组成的类选择器我们可以称之为“多类选择器”,而前面介绍的由单个 class 属性值定义的类选择器可以称为“单类选择器”。

后代选择器

当一个

标签嵌套在一个标签内部的时候,就可以将这个

标签看作是标签的后代。当我们需要选择一个标签的后代标签时,就可以使用后代选择器。后代选择器的定义方式就是将标签名、class 属性或 id 属性等按照标签的嵌套关系由外到内的依次罗列,中间使用空格分开,如下所示:

ul li a { text-decoration: none; }

ul li a选择器仅会匹配无序列表标签的所有后代标签。

子选择器

子选择器与后代选择器类似,不过子选择器只会匹配某个元素的直接后代(元素与其子元素之间只有一层嵌套关系),子选择器由两个或多个选择器组成,选择器之间用大于号>分隔开,如下所示:

p > strong { color:red; }

p > strong选择器会将下面代码中第一个

标签的子标签内的文字设置为红色,但对第二个

标签中的标签则没有影响。

欢迎访问编程帮! 编程帮(biancheng.net),学前端,来编程帮。 相邻兄弟选择器

相邻兄弟选择器用于匹配某个元素之后紧邻的另一个元素,这两个元素拥有同一个父级元素并且不存在嵌套关系。相邻兄弟选择器的定义需要用到加号+,加号两边为相邻的两个元素,选择器会匹配加号后面的元素,如下所示:

h1 + p { color: blue; font-size: 18px; } ul.task + p { color: #f0f; text-indent: 30px; }

h1 + p选择器会匹配同一父级元素下紧邻标签并在其后的

标签。ul.task + p选择器则会匹配同一父级元素下紧邻标签并在其后的

标签,但要具有class="task"属性。

通用兄弟选择器

通用兄弟选择器与相邻兄弟选择器非常相似,但却没有那么严格。通用兄弟选择器同样会匹配同一父级元素下的兄弟元素,但兄弟元素之间无需紧邻。定义通用兄弟选择器需要用到波浪号~,波浪号两边为同一父级元素下的两个元素,选择器会匹配波浪号后面的元素,如下所示:

h1 ∼ p { color: blue; font-size: 18px; }

h1 ∼ p选择器会匹配同一父级元素下标签之后的所有

标签。

分组选择器

分组选择器可以将同样的样式规则应用到多个选择器中,每个选择器之间使用逗号,进行分隔,这么做可以避免定义重复的样式规则,最大程度地减少 CSS 样式表中的代码。例如,在 CSS 样式表中,不同的选择器中可能包含同样的样式规则,如下所示:

h1 { font-size: 36px; font-weight: normal; } h2 { font-size: 28px; font-weight: normal; } h3 { font-size: 22px; font-weight: normal; }

我们可以看到选择器h1、h2、h3中包含相同的样式font-weight: normal;,这时就可以先使用分组选择器为h1、h2、h3定义它们之间同样的样式规则,然后再分别定义它们之间不同的样式规则,如下所示:

h1, h2, h3 { font-weight: normal; } h1 { font-size: 36px; } h2 { font-size: 28px; } h3 { font-size: 22px; } 属性选择器

属性选择器用来匹配具有特定属性的元素。属性选择器的定义方式与标签选择器相似,只不过需要在标签的后面使用方括号[ ]来指定标签具有的属性信息,如下所示:

input[type="text"] { color: blue; }

input[type=“text”]选择器会匹配所有具有type="text"属性的标签。

属性选择器中方括号[ ]内的属性信息还支持以下几种写法:

[target]:选择所有带有target属性元素;[target=_blank]:选择所有具有target=“_blank” 属性的元素;[title~=flower]:选择title属性包含单词“flower”的所有元素;[lang|=en]:选择lang属性正好是“en”或以“en”为开头的所有元素。 2.HTML引用CSS 内嵌样式表

在 HTML 头部(标签内)的标签中定义 CSS 样式,使用内嵌样式表定义的 CSS 样式只能在当前网页内使用,示例代码如下:

DOCTYPE html> 编程帮 body { background-color: linen; } h1 { color: maroon; margin-left: 40px; } 编程帮 http://www.biancheng.net/

由于内嵌样式表需要将 CSS 样式定义在 HTML 文档的内部,所以会导致文档的体积变大,而且当有其它文档也需要使用内嵌样式表中同样的样式时,无法引入到其他文档,必须在其它文档中重新定义,会导致代码冗余,不利于后期维护。 在这里插入图片描述

内联样式

内联样式就是将样式信息直接定义在 HTML 标签的 style 属性中,由于内联样式定义在标签内部,所以它只对所在的标签有效。示例代码如下:

DOCTYPE html> 编程帮 编程帮 http://www.biancheng.net/

内联样式虽然可以很方便的为 HTML 标签赋予 CSS 样式,但它的缺点也非常明显,不推荐过多使用。

定义内联样式需要在每个 HTML 标签中定义 style 属性,很不方便;在内联样式中使用双引号或单引号时要特别小心,因为 HTML 标签的属性通常都会使用双引号来包裹属性的值,例如;在内联样式中定义的样式不能再其它任何地方重用;内联样式在后期维护时很不方便,因为一个网站通常有很多页面组成,当修改页面样式时需要对页面逐个修改;添加过多的内联样式会导致 HTML 文档的体积增大。 在这里插入图片描述 外部样式表

外部样式表是最常见也是最推荐的引用 CSS 的方式,您只需要将 CSS 样式定义在一个 .css 格式的文件中,然后使用 HTML 的标签将这个 .css 格式的样式文件应用到 HTML 文档中。

下面通过具体的示例来演示外部样式表的使用。首先,需要定义一个 .css 格式的样式文件(例如 style.css),如下所示:

body { background-color: linen; } h1 { color: maroon; margin-left: 40px; }

然后我们在 HTML 文档中引入这个 style.css 文件,如下所示:

DOCTYPE html> 编程帮 编程帮 http://www.biancheng.net/

在这里插入图片描述

导入样式表

您同样可以使用@import来引用外部样式表,这一点与使用标签比较相似。使用@import引用外部样式表的语法格式如下:

@import "URL"; 或者 @import url("URL");

其中 URL 为外部样式表的存放路径。

假如还使用上面定义的 style.css 样式表,通过@import将其引用到 HTML 文档的代码如下:

DOCTYPE html> 编程帮 @import url("./style.css"); /*@import "./style.css";*/ 编程帮 http://www.biancheng.net/

使用@import引用 CSS 时有以下几点需要注意:

在 HTML 文档中使用@import时,@import需要定义在 3.CSS基本设置 长度单位 相对长度单位 相对长度单位指的是这个单位没有一个固定的值,它的值受到其它元素属性(例如浏览器窗口的大小、父级元素的大小)的影响,在响应式布局方面相对长度单位非常适用。下表中列举了 CSS 中支持的相对长度单位:在这里插入图片描述绝对长度单位 绝对长度单位表示一个真实的物理尺寸,它的大小是固定的,不会因为其它元素尺寸的变化而变化。下表中列举了 CSS 中支持的绝对长度单位: 在这里插入图片描述 颜色设置

6种方法: 在这里插入图片描述

CSS background(背景)

在制作网页时我们往往需要在网页中添加一些背景颜色、背景图像让网页更加美观,吸引访问者的眼球。CSS 中提供了一系列用于设置 HTML 元素背景效果的属性,如下所示:

background-color:设置元素的背景颜色;background-image:设置元素的背景图像;background-repeat:控制背景图像是否重复;background-attachment:控制背景图像是否跟随窗口滚动;background-position:控制背景图像在元素中的位置;background-size:设置背景图像的尺寸;background-origin:设置 background-position 属性相对于什么位置来定位背景图像;background-clip:设置背景图像的显示区域;background:背景属性的缩写,可以在一个声明中设置所有的背景属性。

background-color 在这里插入图片描述

background-image 在这里插入图片描述

background-repeat 在这里插入图片描述

background-position 在这里插入图片描述

background-attachment 在这里插入图片描述

background-size 在这里插入图片描述

CSS字体样式(font)

CSS 中提供了一系列用于设置文本字体样式的属性,比如更改字体,控制字体大小和粗细等等。

font-family:设置字体;font-style:设置字体的风格,例如倾斜、斜体等;font-weight:设置字体粗细;font-size:设置字体尺寸;font-variant:将小写字母转换为小型大写字母;font-stretch:对字体进行伸缩变形(使用较少,并且主流浏览器都不支持);font:字体属性的缩写,可以在一个声明中设置多个字体属性。

font-style 在这里插入图片描述

font-weight 在这里插入图片描述

font-size 在这里插入图片描述

CSS文本格式化

通过 CSS 中的文本属性您可以像操作 Word 文档那样定义网页中文本的字符间距、对齐方式、缩进等等,CSS 中常用的文本属性如下所示:

text-align:设置文本的水平对齐方式; 在这里插入图片描述

text-decoration:设置文本的装饰; 在这里插入图片描述

text-transform:设置文本中英文的大小写转换方式; 在这里插入图片描述

text-indent:设置文本的缩进方式; 在这里插入图片描述

line-height:设置行高; 在这里插入图片描述

letter-spacing:设置字符间距; 在这里插入图片描述

word-spacing:设置单词与单词之间的间距(对中文无效); 在这里插入图片描述

text-shadow:设置文本阴影; 语法格式如下:

text-shadow: h-shadow v-shadow blur color;

在这里插入图片描述

vertical-align:设置文本的垂直对齐方式; 在这里插入图片描述 在这里插入图片描述

white-space:设置文本中空白的处理方式; 在这里插入图片描述

direction:设置文本方向。 在这里插入图片描述

链接样式

链接有四种不同的状态,分别是 link、visited、active 和 hover,可以通过以下伪类选择器来为链接的四种状态设置不同的样式:

:link:定义普通或未访问链接的样式;:visited:定义已经访问过链接的样式;:hover:定义当鼠标经过或悬停在链接上时的样式;:active:定义点击链接时的样式。 :link 通过:link伪类选择器可以为普通或未访问的链接设置样式,示例代码如下: DOCTYPE html> a { text-decoration: none; } a:link { font-size: 18px; border: 1px solid black; padding: 5px; margin-left: 10px; background: #ccc; color: black; } 这是一个链接 这是另一个链接

在这里插入图片描述

:visited 通过:visited伪类选择器可以为已经访问过的链接设置样式,示例代码如下: DOCTYPE html> a { text-decoration: none; } a:link { font-size: 18px; border: 1px solid black; padding: 5px; margin-left: 10px; background: #ccc; color: black; } a:visited { background: #FFFF99; border: 1px soild red; color: red; } 这是一个链接 这是另一个链接

在这里插入图片描述

:hover 通过:hover伪类选择器可以定义当鼠标经过或悬停在链接上时的样式,示例代码如下: DOCTYPE html> a { text-decoration: none; } a:link { font-size: 18px; border: 1px solid black; padding: 5px; margin-left: 10px; background: #ccc; color: black; } a:visited { background: #FFFF99; border: 1px solid red; color: red; } a:hover { background: #9c6ae1; border: 1px solid black; color: black; } 这是一个链接 这是另一个链接

在这里插入图片描述

:active 通过:active伪类选择器可以定义点击链接时的样式,示例代码如下: DOCTYPE html> a { text-decoration: none; } a:link { font-size: 18px; border: 1px solid black; padding: 5px; margin-left: 10px; background: #ccc; color: black; } a:visited { background: #FFFF99; border: 1px solid red; color: red; } a:hover { background: #9c6ae1; border: 1px solid black; color: black; } a:active { background: #000; border: 1px solid black; color: white; } 这是一个链接 这是另一个链接

在这里插入图片描述

CSS边框样式(border)

可以通过下面几个属性分别定义边框的样式、宽度和颜色:

border-style:设置边框的样式,例如实线、虚线等;border-width:设置边框的宽度(厚度);border-color:设置边框的颜色;border:上面三个边框属性的缩写。 语法格式如下:

border-style: border-top-style border-right-style border-bottom-style border-left-style;

在这里插入图片描述 除了可以使用 border-style 属性设置元素的边框样式外,您还可以使用下面的属性分别设置元素上、下、左、右四个边框的样式:

border-bottom-style:设置下边框的样式;border-top-style:设置上边框的样式;border-left-style:设置左边框的样式;border-right-style:设置右边框的样式。 border-width 语法格式如下:

border-width: border-top-width border-right-width border-bottom-width border-left-width;

在这里插入图片描述

还可以使用下面的属性分别设置元素上、下、左、右四个边框的宽度:

border-bottom-width:设置下边框的宽度;border-top-width:设置上边框的宽度;border-left-width:设置左边框的宽度;border-right-width:设置右边框的宽度。 border-color 语法格式如下:

border-color: border-top-color border-right-color border-bottom-color border-left-color; 在这里插入图片描述

-还可以使用下面的属性分别设置元素上、下、左、右四个边框的颜色:

border-bottom-color:设置下边框的颜色;border-top-color:设置上边框的颜色;border-left-color:设置左边框的颜色;border-right-color:设置右边框的颜色。 border

border 属性是上面介绍的 border-width、border-style、border-color 三种属性的简写,使用 border 属性可以同时定义上述三个属性,语法格式如下:

border: border-width border-style border-color;

其中 border-width 用来设置边框的宽度;border-style 用来设置边框的样式;border-color 用来设置边框的颜色。

还可以使用下面的属性分别设置元素上、下、左、右四个边框的宽度、样式、颜色:

border-bottom:统一设置下边框的宽度、样式、颜色;border-top:统一设置上边框的宽度、样式、颜色;border-left:统一设置左边框的宽度、样式、颜色;border-right:统一设置右边框的宽度、样式、颜色。 CSS盒子模型

盒子模型是网页设计中经常用到的一种思维模型,由四个部分构成,从内到外分别为内容区(content)、内边距(padding)、边框(border)和外边距(margin),CSS 为这四个部分提供了一系列相关属性,通过对这些属性的设置可以丰富盒子的表现效果。

网页中的每个元素都可以看作是如下图所示一个盒子模型: 在这里插入图片描述

1.内容区(content)

内容区是整个盒子模型的中心,其中存放了盒子的主要内容,这些内容可以是文本、图像等资源。内容区有 width、height、overflow 三个属性,其中 width 和 height 属性用来指定盒子内容区域的宽度和高度,当内容信息过多,超出内容区所设置的范围时,则可以使用 overflow 属性设置溢出内容的处理方式,overflow 属性有四个可选值:

hidden:表示隐藏溢出的部分;visible:表示显示溢出的部分(溢出的部分将显示在盒子外部);scroll:表示为内容区添加一个滚动条,您可以通过滑动这个滚动条来查看内容区的全部内容;auto:表示由浏览器决定如何处理溢出部分。

下面通过一段代码演示盒子模型中的内容区:

DOCTYPE html> div { background: #CFF; } div.box-one { width: 100px; height: 100px; } 盒子模型

在这里插入图片描述

2.内边距(padding)

内边距是内容区和边框之间的空间,您可以通过 padding-top、padding-right、padding-bottom、padding-left 以及它们的简写属性 padding 来设置内容区各个方向上与边框之间的距离。在为盒子模型设置背景属性时,背景属性可以覆盖到内边距区域。

示例代码如下:

DOCTYPE html> div { background: #CFF; } div.box-one { width: 100px; height: 100px; padding: 20px; } 盒子模型

在这里插入图片描述

3.边框(border)

边框是环绕内容区和内边距的边界,您可以使用 border-style、border-width 和 border-color 以及它们的简写属性 border 来设置边框的样式。其中 border-style 属性为边框中最主要的属性,如果没有设置该属性的话,其它的边框属性也会被忽略。 注意:在 IE 浏览器中背景属性不会覆盖到边框区域,但是在其它主流浏览器中,背景属性则可以覆盖到边框区域,当将边框设置为虚线时就可以透过虚线看到后面的背景。

示例代码如下:

DOCTYPE html> div { border: 1px solid black; background: #CFF; } div.box-one { width: 100px; height: 100px; border: 10px dashed red; padding: 20px; } 盒子模型

在这里插入图片描述

4.外边距(margin)

外边距位于盒子模型的最外围,是边框之外的空间,通过外边距可以使盒子与盒子之间不会紧凑的连接在一起,是 CSS 布局中的一种重要手段。您可以使用 margin-top、margin-bottom、margin-left、margin-right 以及它们的简写属性 margin 来设置各个方向上外边距的宽度。

对于两个相邻的(水平或垂直方向 )且都设置有外边距的盒子,它们之间的距离并不是两者外边距相加的和,而是它们之中较大的那个值。另外,您也可以将外边距的值设置为负值,当外边距的值为负时整个盒子将向反方向移动,当到达一定程度时盒子之间会产生重叠效果。

示例代码如下:

DOCTYPE html> div { border: 1px solid black; background: #CFF; } div.box-one { width: 100px; height: 100px; border: 10px dashed red; padding: 20px; margin: 15px; background: #CCC; } div.box-two { width: 50px; height: 50px; border: 10px dotted black; padding: 20px; margin: 20px; background: yellow; } 盒子模型

在这里插入图片描述 ###元素的宽度和高度 当您使用 CSS 中的 width 和 height 属性设置元素的宽度和高度时,实际上设置的只是元素内容区域的宽度和高度,元素的实际宽度和高度还取决于一些其它因素:

总宽度:width + padding-left + padding-right + border-left + border-right + margin-left + margin-right总高度:height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom CSS position定位(5种方式)

在这里插入图片描述

1.静态定位:static

static 是 position 属性的默认值,表示没有定位,使用静态定位的元素会按照元素正常的位置显示,并且不会受到 top、bottom、left、right 和 z-index 属性的影响。示例代码如下:

DOCTYPE html> div{ height: 100px; border: 1px solid black; } div.static { width: 130px; height: 50px; background-color: #CCC; line-height: 50px; text-align: center; position: static; top: 50px; left: 20px; } postiont: static;

在这里插入图片描述

2.相对定位:relative

相对定位就是元素相对于自己默认的位置来进行位置上的调整,您可以通过 top、bottom、left 和 right 四个属性的组合来设置元素相对于默认位置在不同方向上的偏移量。

在这里插入图片描述

DOCTYPE html> div{ border: 1px solid black; } div.static { width: 140px; height: 50px; background-color: #B3FF99; line-height: 50px; text-align: center; position: relative; top: 25px; left: 10px; } p { width: 100px; height: 100px; background-color: #CCC; margin: 0; } position: relative;

运行结果如下图所示: 在这里插入图片描述

3.绝对定位:absolute

绝对定位就是元素相对于第一个非静态定位(static)的父级元素进行定位,如果找不到符合条件的父级元素则会相对与浏览器窗口来进行定位。您同样可以使用 top、bottom、left 和 right 四个属性来设置元素相对于父元素或浏览器窗口不同方向上的偏移量。 在这里插入图片描述

使用绝对定位的元素会脱离原来的位置,不再占用网页上的空间。与相对定位相同,使用绝对定位的元素同样会与页面中的其它元素发声重叠,另外使用绝对定位的元素可以有外边距,并且外边距不会与其它元素的外边距发生重叠。

4.固定定位:fixed

固定定位就是将元素相对于浏览器窗口进行定位,使用固定定位的元素不会因为浏览器窗口的滚动而移动,就像是固定在了页面上一样,我们经常在网页上看到的返回顶部按钮就是使用固定定位实现的。 在这里插入图片描述

5.粘性定位:sticky

粘性定位与前面介绍的四种定位方式不太一下,它像是相对定位和固定定位的结合体,当滚动页面时它的效果与相对定位相同,当元素滚动到一定程度时它又会呈现出固定定位的效果。比如一些网页上的导航菜单,当页面加载完成时它在自己默认的位置,当我们向下滚动页面时它又会固定在页面的最顶端。 在这里插入图片描述 需要注意以下几点:

在设置position:sticky;时,必须再定义 top、bottom、right、left 四个属性之一,否则只会处于相对定位的状态;使用粘性定位元素的父元素不能定义overflow:hidden或者overflow:auto属性;父元素的高度不能低于粘性定位元素的高度;粘性定位的元素仅在其父元素内有效。 页面布局和定位 1.CSS float(浮动)

浮动可以使一个元素脱离自己原本的位置,并在父元素的内容区中向左或向右移动,直到碰到父元素内容区的边界或者其它浮动元素为止。另外,在浮动元素之后定义的文本或者行内元素都将环绕在浮动元素的一侧,从而可以实现文字环绕的效果,类似于 Word 中图文混排。 在这里插入图片描述 还需要注意以下几点:

如果设置了 float 属性且属性的值不为 none 时,若 display 属性的值为 inline-table,那么 display 实际会被设置为 table,若 display 的属性值为 inline、inline-block、run-in、table-* 等值,那么 display 实际会被设置为 block,其它情况则没有变化;当元素设置了绝对定位或者 display 属性的值为 none 时,float 属性无效;相邻的浮动元素,如果空间足够它们会紧挨在一起,排列成一行。 清除浮动

元素浮动之后,会对周围的元素造成一定的影响,为了消除这种影响您可以使用 clear 属性来清除浮动,属性的可选值如下: 在这里插入图片描述

2.column多列式布局

多列布局的属性,如下表所示: 在这里插入图片描述

column-count

column-count 属性用来设置将元素分为几列,属性的可选值如下: 在这里插入图片描述

DOCTYPE html> div { column-count: 4; } CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。 CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。

在这里插入图片描述

column-fill

column-fill 属性用来设置如何填充每个列,属性的语法格式如下:

在这里插入图片描述

column-gap

column-gap 属性用来设置列与列之间的间隙,属性的可选值如下:

在这里插入图片描述

column-rule

column-rule 属性是一个简写属性,它与 border 属性非常相似,用来设置列与列之间边框的宽度、样式和颜色。 column-rule 属性的语法格式如下:

column-rule: column-rule-width column-rule-style column-rule-color;

其中 column-rule-width 表示边框的宽度;column-rule-style 表示边框的样式,下表中列举了一些样式的可选值;column-rule-color 表示边框的颜色。 在这里插入图片描述

DOCTYPE html> div { column-count: 3; column-gap: 10px; column-rule: 5px solid #090; } CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。 CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。

在这里插入图片描述

column-span

column-span 属性用来设置元素应该跨越多少列,属性的可选值如下: 在这里插入图片描述

column-width

column-width 属性用来设置每个列的宽度,属性的可选值如下: 在这里插入图片描述

columns

columns 属性是一个简写属性,用来同时设置列的宽度和列的数量,语法格式如下:

columns: column-width column-count;

其中 column-width 表示每个列的宽度,column-count 则表示列的数量。

DOCTYPE html> div { columns: 100px 4; column-rule: 5px solid #090; } CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。 CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。

在这里插入图片描述

3.flex布局(弹性布局/弹性盒子) 基本概念

采用 Flex 布局的元素,称为 Flex 容器(flex container),简称“容器”。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称“项目”。容器默认存在两根轴,分别为水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置叫做 main start,结束位置叫做 main end;交叉轴的开始位置叫做 cross start,结束位置叫做 cross end。项目默认沿主轴排列。单个项目占据的主轴空间叫做 main size,占据的交叉轴空间叫做 cross size。如下图所示: 在这里插入图片描述 CSS 中提供了以下属性来实现 Flex 布局: 在这里插入图片描述

容器属性

flex-direction flex-direction 属性用来决定主轴的方向(即项目的排列方向),属性的可选值如下: 在这里插入图片描述

flex-wrap flex-wrap 属性用来设置当弹性盒子的子元素(项目)超出父容器时是否换行,属性的可选值如下: 在这里插入图片描述

flex-flow flex-flow 属性是 flex-direction 和 flex-wrap 两个属性的简写,语法格式如下:

flex-flow: flex-direction flex-wrap;

DOCTYPE html> .flex_flow { display: flex; flex-flow: row-reverse wrap; } .flex_flow div { width: 60px; height: 60px; margin-bottom: 5px; border: 1px solid black; } 12345678910

justify-content justify-content 属性用于设置弹性盒子中元素在主轴(横轴)方向上的对齐方式,属性的可选值如下: 在这里插入图片描述

align-items align-items 属性用来设置弹性盒子中元素在侧轴(纵轴)方向上的对齐方式,属性的可选值如下: 在这里插入图片描述

align-content align-content 属性与 justify-content 属性类似,可以在弹性盒子的侧轴还有多余空间时调整容器内项目的对齐方式,属性的可选值如下: 在这里插入图片描述

项目属性 order order 属性用来设置项目在容器中出现的顺序,您可以通过具体的数值来定义项目在容器中的位置,属性的语法格式如下: order: number;

其中 number 就是项目在容器中的位置,默认值为 0。

示例代码如下:

DOCTYPE html> .flex { display: flex; flex-flow: row wrap; margin-top: 10px; } .flex div { width: 60px; height: 60px; margin-bottom: 5px; border: 1px solid black; } .flex div:nth-child(1) { order: 5; } .flex div:nth-child(2) { order: 3; } .flex div:nth-child(3) { order: 1; } .flex div:nth-child(4) { order: 2; } .flex div:nth-child(5) { order: 4; } ABCDE align-self align-self 属性允许您为某个项目设置不同于其它项目的对齐方式,该属性可以覆盖 align-items 属性的值。align-self 属性的可选值如下:

在这里插入图片描述 3) flex flex 属性是 flex-grow、flex-shrink 和 flex-basis 三个属性的简写,语法格式如下: flex: flex-grow flex-shrink flex-basis;

参数说明如下:

flex-grow:(必填参数)一个数字,用来设置项目相对于其他项目的增长量,默认值为 0;flex-shrink:(选填参数)一个数字,用来设置项目相对于其他项目的收缩量,默认值为 1;flex-basis:(选填参数)项目的长度,合法值为 auto(默认值,表示自动)、inherit(表示从父元素继承该属性的值) 或者以具体的值加 “%”、“px”、“em” 等单位的形式。

另外,flex 属性还有两个快捷值,分别为 auto(1 1 auto)和 none(0 0 auto)。

4.响应式布局(自适应布局)

实现响应式布局,常用的方式有以下几种:

使用 CSS 中的媒体查询(最简单);使用 JavaScript(使用成本比较高);使用第三方开源框架(例如 bootstrap,可以很好的支持各种浏览器)。 设置 meta 标签

首先,我们需要设置 meta 标签来告诉浏览器,让视口(网页的可视区域)的宽度等于设备的宽度,并禁止用户对页面的缩放,如下所示:

在设置视口时需要注意,视口就是网页可见区域的尺寸,设置视口时只设置宽度就行,不用在乎高度,具体高度由网页内容自动撑开。上面 meta 标签中内容的含义如下:

viewport:即视口,表示网页的可视区域;width:控制 viewport 的大小,可以指定一个具体的值,例如 600,也可以是由关键字组成的特殊值,例如 device-width 就表示设备的宽度;initial-scale:表示初始缩放比例,也就是页面第一次加载时的缩放比例;maximum-scale:表示允许用户缩放的最大比例,范围从 0 到 10.0;minimum-scale:表示允许用户缩放到最小比例,范围从 0 到 10.0;user-scalable:表示用户是否可以手动缩放,“yes”表示允许缩放,“no”表示禁止缩放。 媒体查询

CSS 媒体查询可以根据指定的条件,针对不同的媒体类型(screen print)定义不同的 CSS 样式,让使用不同设备的用户都能得到最佳的体验。

关于媒体查询有以下三种实现方式:

1、直接在 CSS 文件中使用,示例代码如下:

@media (max-width: 320px) { /*0~320*/ body { background: pink; } } @media (min-width: 321px) and (max-width: 375px) { /*321~768*/ body { background: red; } } @media (min-width: 376px) and (max-width: 425px) { /*376~425*/ body { background: yellow; } } @media (min-width: 426px) and (max-width: 768px) { /*426~768*/ body { background: blue; } } @media (min-width: 769px) { /*769~+∞*/ body { background: green; } }

2、使用 @import 导入,示例代码如下:

@import 'index01.css' screen and (max-width:1024px) and (min-width:720px) @import 'index02.css' screen and (max-width:720px)

3、在 link 标签中使用,示例代码如下:

示例展示:

DOCTYPE html> 响应式布局 *{ margin: 0px; padding: 0px; font-family: "微软雅黑"; } #head, #foot, #main { height: 100px; width: 1200px; /*width: 85%;*/ background-color: goldenrod; text-align: center; font-size: 48px; line-height: 100px; margin: 0 auto; } #head div{ display: none; font-size: 20px; height: 30px; width: 100px; background-color: green; float: right; line-height: 30px; margin-top: 35px; } #head ul{ width: 80%; } #head ul li{ width: 20%; float: left; text-align: center; list-style: none;font-size: 20px; } #main{ height: auto; margin: 10px auto; overflow: hidden; } .left, .center, .right{ height: 600px; line-height: 600px; float: left; width: 20%; background-color: red } .center{ width: 60%; border-left: 10px solid #FFF; border-right: 10px solid #FFF; box-sizing: border-box; } @media only screen and (max-width: 1200px) { #head, #foot, #main{ width: 100%; } } @media only screen and (max-width: 980px) { .right{ display: none; } .left{ width: 30%; } .center{ width: 70%; border-right: hidden; } } @media only screen and (max-width: 640px) { .left, .center, .right{ width: 100%; display: block; height: 200px; line-height: 200px; } .center{ border: hidden; border-top: 10px solid #FFFFFF; border-bottom: 10px solid #FFFFFF; height: 600px; line-height: 600px; } #head ul{ display: none; } #head div{ display: block; } } header1 header2 header2 header2 header2 icon left center right footer

当浏览器窗口小于 1200 像素大于 980 像素时,页面的样式如下图所示:

在这里插入图片描述

当浏览器窗口大于 640 像素小于 980 像素时,页面的样式如下图所示:

在这里插入图片描述

当浏览器窗口小于 640 像素时,页面的样式如下图所示:

在这里插入图片描述

总结

CSS(层叠样式表)是一种用于网页美化和布局的语言,它可以通过控制HTML元素的显示样式,包括字体、颜色、大小、间距、背景等,从而实现网页的美化和布局。在这里,我会从以下几个方面,来给大家进行CSS学习的总结:

基本概念 CSS选择器,如标签选择器、类选择器、ID选择器等样式表,如内部样式表、外部样式表等样式规则,由选择器和声明块组成声明块,由属性和属性值组成继承,子元素可以继承父元素的样式优先级,CSS样式有着不同的权重和优先级 常用CSS属性 文本属性,如font、color、text-align等盒子模型属性,如width、height、padding、margin等背景属性,如background-color、background-image等定位属性,如position、top、left等伪类和伪元素,如:hover、:before、:after等 实践 熟悉HTML语义化标签熟悉常见布局方式,如浮动、定位、flex布局等控制页面的响应式设计,如媒体查询与JavaScript一同使用,如实现导航栏等效果 工具 浏览器开发者工具,如Chrome的DevTools代码编辑器,如VS Code、Sublime Text等预处理器,如Sass、Less等

以上是CSS学习的大致内容,当然还有别的一些细节和技巧需要在实践中掌握。在学习CSS时,可以结合实践进行,使用浏览器开发者工具对网页布局和样式进行调试,同时多参考一些优秀的网页布局和设计范例。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有