一、CSS的四种引入方式
1、外部样式表
<link rel="stylesheet" type="text/css" href="文件路径">
rel(relative):引入的是一个CSS样式表
type:这是标准的CSS
2、内部样式表
<style type="text/css">
样式内容
</style>
3、行内样式表
<div style="background-color: red;">这是一个示例区域</div>
内部样式表和行内样式表类似,但两者有着本质区别:内部样式表的CSS是在head中的“style标签”内定义的,而行内样式表的CSS实在“标签的style属性”内定义的。
4、@import导入方式
<style>
@import url("test.css");
</style>
@import导入方式和外部样式表引入方式类似,但@import导入方式先加载HTML文件后加载CSS文件,给用户的体验感较差,实际开发中通常使用外部样式表。
二、CSS选择器
选择器的格式:
选择器
{
属性1:取值1;
...
属性n:取值n;
}
1、元素选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>元素选择器</title>
<style type="text/css">
div{color: blue;}
</style>
</head>
<body>
<div>学习使我快乐</div> <!--字体显示为蓝色 -->
<p>学习使我快乐</p>
<span>学习使我快乐</span>
<div>学习使我快乐</div> <!--字体显示为蓝色 -->
</body>
</html>
2、id选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>id选择器</title>
<style type="text/css">
#blue{color: blue;}
</style>
</head>
<body>
<div id="blue">学习使我快乐</div> <!--字体显示为蓝色 -->
<p>学习使我快乐</p>
<span>学习使我快乐</span>
<div>学习使我快乐</div>
</body>
</html>
对于id选择器,id名前面必须要加上#,表明这是一个id选择器。要注意的是,同一个页面中不能出现两个相同的id。
3、类选择器
类选择器,也就是class选择器,可以为“相同的元素”或者“不同的元素”定义相同的class属性,然后针对拥有同一个class属性的元素进行样式操作。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>class选择器</title>
<style type="text/css">
.blue{color: blue;}
</style>
</head>
<body>
<div id="blue">学习使我快乐</div>
<p class="blue">学习使我快乐</p> <!--蓝色 -->
<span class="blue">学习使我快乐</span> <!--蓝色 -->
<div>学习使我快乐</div>
</body>
</html>
对于类选择器,class名前面必须要加上前缀英文句号(.),表明这是一个类选择器。
4、后代选择器
父元素和后代元素必须要用空格隔开,表明选中父元素内部的后代元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>class选择器</title>
<style type="text/css">
#blue span{color: blue;}
p.red{color: red;}
</style>
</head>
<body>
<div id="blue">
<span>学习使我快乐</span> <!--蓝色 -->
</div>
<p>
<span class="red">学习使我快乐</span> <!--红色 -->
</p>
<span class="blue">学习使我快乐</span>
<div>学习使我快乐</div>
</body>
</html>
5、群组选择器
对于群组选择器,多个选择器之间必须要用英文逗号(,)隔开,否则无法生效。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>class选择器</title>
<style type="text/css">
#blue span,p .red,.blue,div{color: blue;}
</style>
</head>
<body>
<div id="blue">
<span>学习使我快乐</span> <!--蓝色 -->
</div>
<p>
<span class="red">学习使我快乐</span> <!--蓝色 -->
</p>
<span class="blue">学习使我快乐</span> <!--蓝色 -->
<div>学习使我快乐</div> <!--蓝色 -->
</body>
</html>
三、字体样式
1、字体类型:font-family
font-family: 字体1,字体2...字体n;
对于font-family,如果字体类型是多个英文单词或是中文的,需要加上英文双引号。
2、字体大小:font-size
font-size: 像素值;
两种取值方式:
a.关键字:small、medium、large等。
b.像素值:如10px、20px。
3、字体粗细:font-weight
font-weight: 取值;
两种取值方式:
a.100-900的数值。实际开发红不建议使用。
b.关键字:normal正常(默认)、lighter(较细)、bold(较粗)、bolder(很粗),其中常用bold。
4、字体风格:font-style
font-style: 取值;
CCS中可以使用该样式设置斜体:normal、italic/oblique。
italic是字体的一个属性,但并非所有的字体都有这个属性,这种情况下使用oblique。
5、字体颜色:color
color: 取值;
两种取值方式:
a.关键字
b.十六进制RGB值。#000000黑色 #FFFFFF白色
四、CSS注释
/* CSS注释内容 */
快键键:Ctrl+/
五、文本样式
字体样式和文本样式的区别:字体样式针对的是“文字本身”的形体效果,而文本样式针对的是“整个段落”的排版效果。
1、首行缩进:text-indent
text-indent:像素值
text-indent的值应当是字体大小font-size的两倍。
2、水平对齐:text-align
text-align:left/center/right
默认水平左对齐。
3、文本修饰:text-decoration
text-decoration:none(默认值)/underline/line-through/overline;
下划线标明重点,中划线用于促销场景。
4、大小写:text-transform
text-transform:none(默认)/uppercase/lowercase/capitallize;
5、行高:line-height
line-height:像素;
6、间距:letter-spacing、word-spacing
letter-spacing:像素值;
word_spacing:像素值;
多用于英文网页。
六、边框样式
1、整体样式
想要设置元素的边框样式,需要同时确定属性border-width、border-style、border-color的值。
border-style:none(无样式)/dashed(虚线)/solid(实线)
注意简写形式。
2、局部样式
上边框:border-top;下边框:border-botton;左边框:border-left;右边框:border-right;
局部样式也需要设置宽度、外观、颜色。
六、列表样式
1、列表项符号:list-style-type
无序列表的ul属性,有序列表的ol属性,都使用属性list-style-type确定列表项符号。
list-style-type:none;去除列表样式
2、列表项图片:list-style-image
想要使用图片替代列表项符号时,可以使用list-style-image
list-style-image:url(图片路径);
实际开发中这种情况会使用更为高级的CSS3中的iconfont图标技术实现。
七、表格样式
1、表格标题位置:caption-side
caption-side:top/bottom;
在元素table和caption中定义该属性的效果是一致的。
2、表格边框合并:border-collapse
border-collapse:separate(默认)/collapse;
3、表格边框间距:border-spacing
用于设置表格边框的间距。
八、图片样式
1、图片大小
width:像素值
height:像素值
2、图片边框
同边框样式。
3、图片对齐
(1)水平对齐:text-align
同文本水平对齐,注意图片对齐是在父元素中对齐。
(2)垂直对齐:vertical-align
vertical-aligh:top(顶部对齐)/middle(中部对齐)/baseline(基线对齐)/bottom(底部对齐);
该属性定义周围的行内元素或文本相对于该元素的垂直方式。
4、文字环绕:float
图文混排:文字环绕着图片进行布局。
float:left(元素向左浮动)/right(元素向右浮动);
九、、背景样式
该样式涉及背景颜色和背景图片。
1、背景颜色:background-color
color设置文本颜色,注意区分。
2、背景图片样式:background-image
background-image:url(图片路径);
3、背景图片重复:background-repeat
background-repeat:repeat(默认值)/repeat-x/repeat-y/no-repeat;
4、背景图片位置:background-position
background-positon:像素值/关键字(水平 垂直)
这两种设置方式都需要同时设置水平方向距离和垂直方向距离。
例如:background-position:12px 24px;
background-position:top left;
该样式一般用于实现CSS Spirit(精灵图片)。
5、背景图片固定:background-attachment
background-attachment:scroll(默认值)/fixed;
该样式用于定义背景图片是随元素一起滚动还是固定不动。
十、、超链接样式
1、超链接伪类
超链接伪类用于定义在鼠标单击的不同时期的样式。
a:link{...} 未访问时
a:visited{...} 访问后
a:hover{...} 经过a元素时
a:active{...} 单击激活时
这4中样式的定义顺序不能改变,“爱恨原则”love hate。
2、:hover
该伪类可以定义任何一个元素在鼠标经过时的样式。
元素:hover{}
3、鼠标样式
(1)浏览器鼠标样式
cursor:取值;
常用的有default(默认值)、pointer、text。
(2)自定义鼠标样式
cursor:url(图片地址),属性值;
其中鼠标图片后缀名一般都是".cur"。
十一、盒子模型
1、CSS盒子模型
CSS盒子模型的组成部分有4个:content(内容)、padding(内边距)、margin(外边距)、border(边框)。
(1)内容区
内容区是盒子模型必要的组成成分,其它3个部分是可选的。
内容区的3个属性:width、height、overflow。
当内容过多,超出width和height时,可使用overflow属性来指定溢出处理方式。
(2)内边距
可以看成是内容区的背景区域
内边距的5种属性:padding-top、padding-bottom、padding-left、padding-right。
(3)外边距
指的是两个盒子之间的距离。
外边距的5种属性:margin-top、margin-bottom、margin-left、margin-right。
CSS允许给外边距属性指定负数值,即“负margin技术”。
(4)边框
同前文边框方式。
2、宽、高:width、height
只有块元素才可以设置width和height,行内元素的宽高不能被设置,只能靠内容区撑开。(暂不考虑inline-block元素)
CSS中可以使用display属性将行内元素和块元素进行相互转换。
3、内边距:padding
padding简写形式有三种:
padding:像素值; //4个方向
padding:像素值1 像素值2; //上下 左右
padding:像素值1 像素值2 像素值3 像素值4; //顺时针上右下左
如果要让文本在一个元素内部居中,可以使用padding实现。
4、外边距:margin
外边距指的是边框到“父元素”或“兄弟元素”之间的那一部分。
当既有“父元素”又有“兄弟元素”时,优先以“兄弟元素”为参考。
margin的简写形式同padding。
怎么使用浏览器控制台辅助开发?*
十二、浮动布局
1、文档流/普通流:从上至下的排列顺序。
浮动多用于实现多列并排。脱离正常文档流。
图片浮动,文本环绕着图片。
2、清除浮动
clear:left/right/both;
浮动是个小难点。
十三、定位布局
1、固定定位:fixed
固定定位指的是被固定的元素不会随着滚动条的拖动而改变位置。
position:fixed;
top:像素值;
bottom:像素值;
left:像素值;
right:像素值;
2、相对定位:relative
position:relative;
top:像素值;
bottom:像素值;
left:像素值;
right:像素值;
默认情况下,固定定位元素的位置是相对浏览器的,而相对定位元素的位置是相对于原始位置的。
3、绝对定位:absolute
position:absolute;
top:像素值;
bottom:像素值;
left:像素值;
right:像素值;
经过绝对定位的元素会完全脱离文档流,附在其它元素之上,独立出来。
4、静态定位:static
position的值默认为static,CSS中不常用到静态定位,js中有涉及。