前端——CSS(基础总结篇)美化

本文深入讲解CSS(层叠样式表)的基本概念、使用方法及常见属性。从行内式、嵌入式到外联样式,详述不同应用场景下的CSS应用技巧。同时,解析CSS选择器的种类与优先级,以及如何利用背景、文本、字体和对齐方式等属性美化网页。

CSS

CSS(英文全称:Cascading Style Sheets)层叠样式表, 是⼀种用来表现HTML(标准通用标记语言的⼀个应用)或XML(标准通用标记语言的⼀个子集)等文件样式的计算机语言。
CSS是⽤来美化网页用的,没有网页则CSS毫无用处,所以CSS需要依赖HTML展示其功能 。

CSS基本使用

CSS基本语法

在这里插入图片描述

行内式

行内样式将样式定义在具体html元素的style属性中。以行内式写的CSS耦合度高,只适用于当前元素,在设定某个元素的样式时比较常用。
例:

<p staly="color:red;font-size:50px;">
这是一段文本
</p>

在当前元素使用 style 属性的声明方式。
style 是行内样式属性;
color 是颜色属性;red 是颜色属性值;
font-size是字体大小属性;50px 是字体大小属性值。

嵌入式

嵌⼊式通过在html页面内容开辟⼀段属于css的代码区域,通常做法为在 head 标签中嵌套 style标签,在 style 中通过选择器的方式调用指定的元素并设置相关 CSS。
例:

<style type="text/css">
	p {color: blue;font-size: 40px;}
</style>
外联样式

在实际开发当中,很多时候都使用引入外联样式文件,这种形式可以使html页面更加清晰,而且可以达到更好的重用效果。
①在css目录(文件夹)下创建css文件;
②文件内写元素样式;
例:

#p {color: green;font-size: 30px;}

③在head标签中引入外联样式;
例:

<!-- 引入外部的css文件 -->
<link rel="stylesheet" type="text/css" href="./css/staly.css"/>

④使用样式
stylesheet:⽂档的外部样式表。
很多时候,大量的 HTML 页面使用了同一个CSS。那么就可以将这些 CSS 样式保存在⼀个单独的.css文件中,然后通过 link 元素去引入它。

注意:当有多重样式时,记住前提规则,越精确越优先。

CSS选择器

在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。
CSS选择器有很多,掌握常用的即可。

基本选择器

通用选择器

选择所有 *

/*在html文件中应用到所有的元素上*/
* {
 color: orange; }
元素选择器

选择指定标签元素

/*指定标签元素名称 {
 ......
}*/
p {
 color: red;
 font-size: 20px; 
}
ID选择器

选择设置过指定id属性值的元素 #

/*#id属性值 {
 ......
}*/
#p1 {
 	font-weight: bold; 
 }
类选择器

选择设置过指定class属性值的元素 .

/*.class属性值 {
 ......
}*/
.hidden {
 		display: none; 
 }
分组选择器

当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔

/*
选择器1,选择器2,... {
 ......
}*/
h2 , #pre1 {
 		color: orange;
 		font-style: italic; 
}

CSS样式的优先级,是根据选择器的精确度、权重来决定的,常见的权重如下,权重越大,优先级越高。
元素选择器:1
类选择器:10
id选择器:100
内联样式:1000

组合选择器

CSS组合选择器说明了两个选择器直接的关系。 CSS组合选择符包括各种简单选择符的组合方式。
在 CSS 中包含了四种组合方式: 后代选取器(以空格分隔),子元素选择器(以大于号分隔),相邻兄弟
选择器(以加号分隔),普通兄弟选择器(以波浪线分隔)。

后代选择器(派生选择器)

用于选择指定标签元素下的后辈元素,以空格分隔

/*选择器1 选择器2 {
 ......
}*/
.food li {
 		border: 1px solid red; 
 }
子元素选择器

用于选择指定标签元素的所有第一代子元素,以大于号分隔

/*选择器1 > 选择器2 {
 ......
}*/
#d > div {
 	border: 1px solid red; 
 }
相邻兄弟选择器

可选择紧接在另一元素后的元素,且二者有相同父元素。以加号分隔

/*选择器1 + 选择器2 {
 ......
}*/
#d + div {
 	border: 1px solid red; 
 }
普通兄弟选择器

选择紧接在另一个元素后的所有元素,而且二者有相同的父元素,以波浪线分隔

/*选择器1 ~ 选择器2 {
 ......
}*/
li ~ li {
 	background-color : yellow; 
}

CSS常⽤属性设置

CSS 背景属性用于定义HTML元素的背景效果

背景

在这里插入图片描述

background-color

设置元素的背景颜色

body {
 	background-color:#ff0000; 
 	}
background-image

设置元素的背景图像,默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体

body {
 background-image:url('paper.gif');
}
background-repeat

设置是否及如何重复背景图像

body {
 	background-image: url(img/logo.jpg); 
 	background-repeat: no-repeat; 
 }

文本

color
body {
 	color:blue; }
h1 {
 	color:#00ff00; }
h2 {
 	color:rgb(255,0,0);
}
text-align

设置文本对齐方式,center(居中),left(左对齐),right(右对齐)

body {
	text-align:center; 
	}
h1 {
 	text-align:left; 
 	}
h2 {
 	text-align:right; 
 	}
text-decoration
h3 {
 	text-decoration:underline; 
 	}

规定添加到文本的修饰,属性值:none、underline、overline、line-through。
1)underline
对文本添加下划线,与HTML的u元素相同。
2)overline
对文本添加上划线。
3)line-through
对文本添加中划线,与HTML中的s和 strike 元素相同。
4)none
关闭原本应用到元素上的所有装饰。

text-indent

设置文本首行缩进

p.ident2 {
 	text-indent: 2em; 
 	}

注意:em一个相对值,例如页面的文本大小为17px,则2em就为17px*2。

字体

font-family

font-family属性应该设置几个字体名称作为⼀种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体,所以尽量将不常见的字体靠前,将最常见的字体放置在最后,作为替补。
注意:
1)只有当字体名中含有空格或#、$之类的符号时(如 New York),才需要font-family声明中加引号。

body {
 	font-family: "arial black"; 
 	}

2)多个字体系列是用一个逗号分隔指明。

/* 靠前的字体先⽣效 */
p{
 	font-family: 微软雅⿊,⿊体,"agency fb"; 
 	}
font-size

文本大小

body {
 font-size: 50px; /*字体⼤⼩50px*/
}
#span1 {
 font-size: 25px; /*字体⼤⼩25px*/
}
font-style

字体风格,该属性最常用于规定斜体文本。 属性值:normal、italic、oblique
1)normal:文本正常显示;
2)italic:文本斜体显示;
3)oblique:文本倾斜显示,oblique是将文字强制倾斜。
说明:一般情况下,字体有粗体、斜体、下划线、删除线等诸多属性,但是不是所有字体都具有这些属性,⼀些不常用字体可能只有正常体,若使用italic属性则没有效果,所以需要oblique属性强制倾斜。

font-weight

字体加粗,该属性设置文本的粗细。
bold: 可以将文本设置为粗体。
100 ~ 900: 为字体指定了 9 级加粗度。如果⼀个字体内置了这些加粗级别,那么这些数字就直接映射到预定义的级别。
100 对应最细的字体变形;
900 对应最粗的字体变形;
400 等价于 normal;
700 等价于 bold。

对齐方式

text-align

常用属性
在这里插入图片描述
注意:
值 justify 可以使文本的两端都对齐。在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔,使各行的长度恰好相等。对最后一行不生效。

display属性

display 属性规定元素应该生成的框的类型。这个属性用于定义建立布局时元素生成的显示框类型。
在这里插入图片描述

浮动

float的属性值有none、left、right。
1) 只有横向浮动,并没有纵向浮动。
2) 会将元素的display属性变更为block。
3) 浮动元素的后⼀个元素会围绕着浮动元素(典型运用是文字围绕图片)
4) 浮动元素的前⼀个元素不会受到任何影响(如果你想让两个块状元素并排显示,必须让两个块状元素都应用float)

盒子模型

border、padding、margin三个属性构成了盒子模型。
在这里插入图片描述

border

设置所有的边框属性
1)可同时设置边框的宽度、样式、颜色

table, th, td {
 	border: 1px solid black; 
 	}
table {
 	width:100%; height:50px; 
 	}

2)使用border-width、border-style、border-color单独设置

table,td {
 	border-width: 1px;
 	border-style: dotted;
 	border-color: green; 
 	}

3)border-style的属性
在这里插入图片描述
4)border-collapse
设置是否将表格边框折叠为单⼀边框。
属性值:separate(默认,单元格边框独立)、collapse(单元格边框合并)

table {
 	border-collapse : collapse; 
 	}
padding

设置元素所有内边距的宽度,或者设置各边上内边距的宽度。
如果在表的内容中控制文本到边框的内边距,使用td和th元素的填充属性:

td {
 	padding:15px; 
 	}

单独设置各边的内边距:padding-top、padding-left、padding-bottom、padding-right。
默认按照上右下左的顺序设定

td .test1 {
 	padding: 1.5cm
} 
td .test2 {
 	padding: 0.5cm 2.5cm
}
<table border="1">
 	<tr>
 		<td class="test1">
 <!--这个表格单元的每个边拥有相等的内边距。-->
 		</td>
 	</tr>
</table> 
<br />
<table border="1">
 	<tr>
 		<td class="test2">
 <!--这个表格单元的上和下内边距是0.5cm,左和右内边距是 2.5cm。-->
 		</td>
 	</tr>
</table>

注意:通过padding属性设置元素内边距时,会使元素变形。若不想影响格式效果,可以用margin属性设置元素外边距。

margin

设置⼀个元素所有外边距的宽度,或者设置各边上外边距的宽度。

p.margin {
 	margin: 2px 4px 3px 4px; 
 	}

单独设置各边的外边距:margin-top、margin-left、margin-bottom、
margin-right

p.margin{
 	margin-top:100px;
 	margin-bottom:100px;
 	margin-right:50px;
 	margin-left:50px; 
 	}
*{
 	margin: auto auto; 
 	}
*{
 	margin: 100px auto; 
 	}

说明:
auto:自动,可以理解为居中的意思。浏览器自动计算外边距。
margin: auto auto:第⼀个auto表示上下外边距自动计算,第二个auto表示左右外边距自动计算。

但是上下外边距在自动计算时不会生效,而左右外边距会生效,表现为居中状态,效果如下:
在这里插入图片描述
若要设置为上下左右居中状态,则要计算好自行设置上下的外边距,效果如下:
在这里插入图片描述
注意:此时使用margin-top不生效。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值