css 层叠样式表 它是用来美化页面的一种语言(可以给一个标签添加多个样式,多层累加)
1.css初识
- css 有两个部分构成: 选择器 和 一条或多条样式规则,(样式规则需要放在{ }中)
- css 的作用
- 美化界面: 比如:设置标签的文字大小,颜色,字体加粗等
- 控制页面布局: 比如: 设置浮动,定位等样式
- css 基本语法
- 选择器(用来选择标签的,选出来以后给标签加样式){
样式规则
} - 样式规则:
- 属性名1:属性值1
- 属性名2:属性值2
- 。。。
- css 样式表可以由一个或多个选择器组成
- 选择器(用来选择标签的,选出来以后给标签加样式){
2.css样式表的三种使用方式
- css 的三种引入方式
- 行内式
- 直接在标签的style 属性 中添加 css 样式
- 优点: 方便、直观、
- 缺点: 缺乏可重用性
- 内嵌式(内部样式)
- 在head 标签内 加入 《style》标签,在《style》标签里面编写 css 代码
- 优点:在同一个页面内部使用便于复用与维护
- 缺点:在多个页面之间的可重性不高
- 外链式
- 将css 代码写在一个单独的css文件中,在《head》标签中使用《link》标签直接引入该文件到页面中
- 优点:使得css样式与html 页面分离,便于整个页面系统的规划和维护,可重用性高。
- 缺点:css 代码由于分离到单独的css 文件,容易出现css 代码过于集中,若维护不当则极易造成混乱
- 行内式
- css 的引入方式心选择
- 行内式几乎不用
- 内嵌式在学习css样式阶段使用
- 外链式在公司开发的阶段使用,可以对css 样式和 html 页面分别进行开发
3.css选择器
- 定义:css选择器是用来选择标签的,选出来以后给标签加样式
- css 选择器的种类
- 标签选择器
- 类选择器
- 层级选择器(后代选择器)
- id 选择器
- 组选择器
- 伪类选择器
- 标签选择器
- 根据标签来选择标签,以标签开头,此种选择器影响范围大,一般用来做一些通用设置
- 如 p h a div 等标签
- 会覆盖一些其他的设置
- 类选择器
- 根据类名来选择标签,以 . 开头,一个类选择器可应用于多个标签上,一个标签也可以使用多个类选择器,多个类选择器需要使用空格分隔,应用灵活,可复用,是css 中应用最多的一种选择器
- . 类名
- 层级选择器(后代选择器)
- 根据层级关系选择后代标签,以选择器1 选择器2 开头,主要应用在标签嵌套的结构中,减少命名。
- div p { }
- id 选择器
- 根据id 选择标签 ,以# 开头,元素的id 名称不能重复,所以id 选择器只能对应于页面上的一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器
- 注意:虽然给其他标签设置id=’ ’ 也可以设置样式,但不推荐这样做,因为id 是唯一的,以后js通过id只能获取一个唯一的标签对象
- 组选择器
- 根据组合的选择器选择不同的标签,以 , 分割,如有公共的样式设置,可以使用组选择器
- .类名1,.类名2,.类名3{ } .类名1{} .类名2{ } .类名3{ }
- 伪类选择器
- 用于向选择器添加特殊的效果,以 : 分割开,当用户和网站交互的时候改变显示效果可以使用伪类选择器
- .类名1:hover{ }
4.css布局常用样式属性
- width 设置元素的宽度 with:100px
- height 设置元素的高度 height:100px
- background 设置元素的背景颜或者图片,background :gold 设置元素的背景色 background:url(img)no-repeat 不重复显示,拉伸当前显示这个图片
- botder 设置元素的四周的边框 border:1px soild black 设置元素四周边框是1像素的黑色实线
- border_top 设置顶点边框
- border_left 设置左边边框
- border_right 设置右边框 border_bottom 设置底边框
- padding 设置元素包含的内容相关元素边框的距离 也叫内边框 也可以分为四部分
- margin 设置元素和外界的的距离,也叫外边距 可为根四部分
- float 设置元素浮动 浮动可以让元素排列在一起 浮动分为左浮动 右浮动 float:right
.d {
/* background-color:cadetblue; */
width: 200px;
height: 100px;
background-image: url('image/1.png') ;
border-top: 5px solid red;
border-bottom: 5px solid cadetblue;
border-left:5px solid cyan;
border-right:5px solid darkslateblue;
/* 设置浮动 只能设置左浮动和右浮动 设置div在一行可以用浮动*/
}
.box{
width:400px;
height:100px;
background-color:darkviolet;
border-top: 4px solid red;
border-buttom:4px solid red;
border-lift:4px solid red;
border-right:4px solid red;
}
.box1{float:left; background-color: red;}
.box2{float:right;background-color:forestgreen}
.box3{float:left; background-color: rgb(22, 56, 167);}
5.常用文本样式属性
- color : 设置文字颜色 color: red
- font-size: 设置文字的大小 font-size:12px
- font-family:设置文字的字体, font-family:'宋体‘;为避免中文字不兼容,一般写成 英文形式
- font-weight:设置文字是否加粗 font-weight:bold 设置加粗 font-weight:normal 设置不加粗
- line-height:设置文字的行高 line-height:23px 表示文字高度加上文字上下的间距是 23 px ,也就是每一行占有的高度为 23px
- text-decoration:设置文字的下划线 text-decoration:none 将文字下划线去掉
- text-align: 设置文字的水平对齐方式, text-align:center 设置文字水平居中
- text-indent :设置文字首字缩进 text-indent;23px 设置文字首行缩进23px
p{
/* 设置文字颜色 */
color:hotpink;
/* 设置文字大小 */
font-size:30px;
/* 设置文字加粗 */
font-weight:bold;
/* 设置文字字体 */
font-family:'Microsoft Yahei';
/* 给文字设置背景色 */
background:mediumpurple;
/* 给文字设置下划线 */
text-decoration:underline;
/* 给文字中间加下划线 */
text-decoration:line-through;
/* 设置行高 可以让文字垂直居中 */
line-height:100px;
/* 设置文字水平布局方式 左对齐 右对齐 居中 */
text-align:center;
/* 文字缩进 一个字节30px */
text-indent:30px;
}
h3{
color:lightsalmon;
/* 文本缩进 */
text-indent:30px;
}
a{
color:lime;
/* 去掉下划线 */
text-decoration:none;
}
6.css 元素溢出
- 什么是css 溢出
- 当子元素(标签)的尺寸超过父元素(标签)的尺寸时,此时需要设置父元素显示溢出的子元素的方式,设置的法式是通过overflow 属性来完成
- overflow 的设置项
- visible 默认值,显示子标签溢出的部分
- hidden 隐藏子标签的溢出的部分
- auto 如果子标签溢出,则可以滚动查看其余内容
- 进行元素溢出需在父标签选择器上进行
.b1{
width:100px;
height:100px;
background:red;
/* 设置元素溢出需要在父标签选择器上进行 */
/* 超出部分隐藏 */
overflow: hidden;
/* 元素显示 默认为超出部分显示 */
overflow: visible;
/* 超出部分滚动显示 */
overflow: auto;
}
.b2{
width:120px;
height:10px;
background:green;
}
7.css 显示特性
display 属性是用来设置元素的类型及隐藏的 ,常用的属性有:
- none 元素隐藏且不占位置
- inline 元素以行内元素显示(与其他元素在同一行显示)
- block 元素以块元素显示(独占一行,不与其他元素同行)
8.盒子模型
所谓盒子模型就是把HTML页面的元素看做一个矩形盒子,矩形盒子是由内容,边框,内边框,内边距,外边框,外边距 四部分
-
盒子模型的5种主要样式属性:
- width:内容的宽度(不是盒子宽度)
- height:内容的高度,(不是盒子的高低)
- padding:内边距
- border:边框
- margin:外边距
-
盒子的真实尺寸会受到宽度,高度,边框,内边距四个属性的影响,不会受到外边距属性的影响
-
盒子的真实尺寸
- 盒子宽度:width+paddding上下+border左右
- 盒子高度:height+padding上下+border上下
- 我是世界上眼光最好的人,因为我看上了你