欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2019最新CSS基础知识学习

程序员文章站 2024-03-15 15:06:41
...

CSS基础

一、CSS概述
1、css作用
提出统一的方式来修改页面元素的“样式”
2、什么是CSS
Css:cascading style sheet
级联样式表或层叠样式表,俗称:样式表
3、css的优势
1.实现了“内容”与“表现”的分离
2.更大程度的去提高代码的可重用性和可维护性
4、css的使用方式
1.内联样式(行内样式)
将样式定义在单个的html元素里的
使用方式:将样式定义在style属性中
特点:只对当前标记有效。
语法:<p style=”样式内容”></p>
样式内容:
样式属性:属性值;……
Eg:
Color:文本颜色
取值:red,blue,yellow,green,pink,black…
Background-color:背景颜色
取值:red,blue,yellow,green,pink,black…
2.内部样式表
将所有的样式定义在HTML的头元素<head>
语法:

    <head>
    <title></title>
    <style type=”text/css”>

		 样式规则

    </style>
    </head>

样式规则:要修改的标记的属性
样式规则的语法:
选择器{
样式属性:属性值;……
}
选择器:规范了哪些元素能够使用当前定义好的样式。
元素选择器:(标记选择器),由元素的名称作为选择器,符合该选择器的元素都将使用当前样式。
Eg:

div{
color:red;
background-color:green;
}

特点:能够实现样式表的可重用性和可维护性
3.外部样式表
将样式定义在一个外部的css文件中(*.css文件)
由HTML页面对外部样式表进行引用
使用步骤:
1.创建一个css文件保存样式规则
2.在需要的HTML页面上引用css文件

<link rel=”stylesheet” type=”text/css” href=”*.css” />

5、css样式表特征
1.继承性
大多数css样式规则是可以被继承的
2.层叠性
页面中可以定义多个样式表
如果不冲突时,多个样式表中的样式可以层叠为1个
3.优先级
样式定义冲突时,按照不同样式规则的优先级来应用样式
样式优先级:
1.浏览器缺省设置(默认显示规则)
2.外部样式表或内部样式表
就近原则
3.内联样式(行内样式):优先级最高
3>2>1
!important 规则 !:非
可以通过!Important规则调整样式优先级
!Important放在样式属性之后,中间用空格分开,该值的优先级是最高的。

div{
color:red !important;
}

注意:谨慎使用,能不用就不用

二、css基础选择器
选择器:规范页面上哪些元素能够使用定义好的样式
1、通用选择器
语法:*
作用:与页面上任何一个元素匹配
通常定义页面上所有的标签的默认样式
Eg:

*{
Font-size:12px;
Color:red;
}

1、元素选择器
别名:标记选择器、标签选择器
语法:由HTML标记 作为选择器如,html、body、div、span、a、b
作用:修改某个标记的默认样式
Eg:

a{
Text-decoration:none;
}

2、类选择器(类样式)
用户可以随意定义一个选择器,然后由标签通过class属性来进行引用
语法:

.className{
样式属性:值;
}

引用:通过标记的class属性对类名进行引用
Eg:

<style>
.warning{
Color:red;
}
</style>
<body>
<p class=”warning”>test</p>
</body>

Class属性值,支持列表形式,成为值列表。即class属性后允许出现多个class值,每个值之间空格隔开
3、分类选择器
将类选择器与元素选择器结合起来使用。以实现对某种元素中的不同样式的细分控制。

<div class=”important”></div>
<div class=”warning”></div>

语法:元素选择器 .类选择器{}
作用:精确定位到某个元素上
Eg:

div.important

4、id选择器(id样式)
以一种独立的方式来定义样式
仅作用在id属性值 能与当前选择器名称匹配的元素上
语法:

#idName

Eg:

#nav{
Background-color:blue;
}
<div id=”nav”></div>

布局用id,内容实现用class。
5、群组选择器
作用:同意定义一组选择器中的通用样式

P{
Color:red;
}
Div{
Color:green;
}
Span{
Color:green;
}

语法:用,号隔开的选择器列表

P,div,span,#nav,.back{
Color:green;
}
Div{
Background:yellow;
}
#nav{
Background-color:red;
}

6、后代选择器
后代元素选择器
作用:通过元素的位置关系来匹配到元素

语法:选择器1 选择器2

div span{

}

7、子代选择器
子代元素选择器
作用:主要通过元素的位置关系来匹配到元素,缩小匹配的范围。
特点:只通过一层父子关系来查找元素
语法:选择器1>选择器2
匹配的是 选择器1:“下一级”元素中,满足选择器2的元素
8、伪类选择器
作用:匹配元素不同的状态的
语法:
选择器1:伪类选择器{}
伪类分类:
链接伪类
动态伪类

目标伪类
元素状态伪类
结构伪类
否定伪类

1.链接伪类
:link,定义尚未访问的链接样式
:visited,定义访问过链接的样式
2.动态伪类
匹配用户的一些动作
:hover,定义鼠标悬停在元素上的样式
:active,定义html元素被**时的样式
:focus,定义html元素获取焦点时的样式

三、单位
1、尺寸单位
2、颜色单位
1.rgb(r,g,b)
r: red(0~255)
g:green(0~255)
b:blue(0~255)
Rgb(255,255,255)

Rgb(%,%,%,)
Rgba()
a:alpha,透明度 0-1之间的小数
3、#rrggbb 16^6
十六进制:0-9 A-F
#000000:白色
#ffffff :白色
#fe0000:红色
#e4393c:京东红

#rgb: -->#rrggbb缩写,仅限每两位数字都一样的情况使用
#000 -->黑(深)
……
#fff -->灰(浅)
四、尺寸的属性
用于描述元素的高度和宽度
单位:像素、百分比
宽度:
Width:给定的宽度
Max-width:给定宽度范围的最小值

Min-width:给定宽度范围的最小值
高度:
height:给确定的高度值
Max-height:给定高度的最大值
Min-height:给定高度的最小值
注意:一旦元素给定宽度和高度后,如果元素中的内容超出范围,则会产生溢出的效果

五、溢出
Overflow:当内容溢出元素框时如何处理
取值:
Visible:溢出可见,默认值
Hidden:溢出隐藏
Scroll:溢出后滚动,默认的话会有滚动条
Auto:自动,不溢出,正常显示,溢出后,显示滚动条
单向溢出:
Overflow-x:横向溢出后的处理
Overflow-y:横向溢出后的处理

取值:visible、hidden、scroll、auto

六、哪些html元素允许设置尺寸属性
块级元素 允许设置尺寸相关属性
行内元素不可以
具备width,height属性的html元素,允许通过css修改
Img, table

七、边框
属性:
简写:border:width style color;
Width:取值为数值
Style:表示线条样式 取值solid(实现),dotted(虚线),dashed(虚线)
Color:设置颜色,可以取值为transparent(透明色)
单边定义:
Border-left/right/top/bottom:width style color;

Border-width:四个边框的宽度
Border-style:四个边框的样式
Border-color:四个边框的颜色
Border-方向-属性:
方向:left/right/top/bottom
属性:width,style,color
1、边框倒角
圆角矩形
属性:border-radius:
按照顺时针方向,从左上角开始,设置四个角的倒角半径。
取值:
可以为1个,可以为4个
取绝对值,也可以取百分比
单独定义:
Border-top-left-radius:左上角
Border-bottom-left-radius:左下角
Border-top-right-radius:右上角
Border-bottom-right-radius:右下角
2、边框阴影
属性:box-shadow
取值:多个属性值的值列表,中间用空格区分
H-shadow:必需,水平阴影的位置
V-shadow:必需,垂直阴影的位置
Blur:可选,模糊距离
Spread:可选,阴影尺寸
Color:可选,阴影颜色
Inset:可选,将默认的外部阴影改为内部阴影
常用方式:box-shadow:0px 0px 20px 1px red inset;{按顺序}
3、轮廓
绘制于元素周围的一条线,位于边框的外围,起到突出元素的作用。
属性:outline:width style color;
Outline:0px;取消轮廓,多用于表单元素上。

八、框模型:
内容(宽高)、内边距、边框、外边距
对象实际宽度:左外边距+左边框+左内边距+width+右内边距+右边框+右外边距。
1、外边距
1.什么是外边距
围绕在元素边框周围的空白区域
会在元素外围创建空白区域,并且是透明的
2.属性
Margin:value;
Margin:
单边设置:
Margin-left/right/top/bottom 左右上下

取值:Px / % / Auto / 负值
注意:对于块级元素来说,设置左右外边距为auto的话,那么该元素会居中显示。

Margin:value;上下左右统一值;
Margin:v1 v2: 上下 左右
Margin:v1 v2 v3: 上 左右 下
Margin:v1 v2 v3 v4: 上 右 下 左

Eg:

Margin:15px 20px 8px;

解释:上边距:15px 左右外边距:20px 下边距:8px

注意:在html中,有一些元素会具备默认外边距
Body
H1~h6
P
Ul li
Dl dt dd
Margin所带来的影响:
1.外边距合并
两个垂直外边距相遇时,他们将形成一个外边距,称为外边距合并。最终外边距的值,以大值为准。
2.设置子元素的上外边距时,可能会成为父元素的上外边距。
解决方案:
1.设置父元素的边框
2.通过父元素的上内边距来解决。

2、内边距
1.什么是内边距
内容区域和边框之间的距离
注意:内边距会扩大边框所占有的区域
2.语法
Padding:value
Padding-top/bottom/left/right

取值单位:px、百分比

九、背景
1、背景颜色
2、背景图像
属性:background-image
取值:URL(路径)
Eg:

background-image:url(路径);

3、背景重复
平铺
当图片大小小于元素大小时,就会出现背景重复。
属性:
Background-repeat
取值:
Repeat:在垂直和水平方向平铺,默认
Repeat-x:仅在水平方向平铺
Repeat-y:仅在垂直方向平铺
No-repeat:不平铺,只显示一次
4、背景图片尺寸
属性:background-size
取值:
V1 v2:宽度 高度
V1% v2%:百分比
Cover:覆盖
Contain:包含,背景图是能够完整的显示出来的
5、背景图片固定
属性:background-attachment
取值:
Fixed:背景图片固定,背景图不会随着滚动条而发生滚动
Scroll:默认值,滚动
6、背景定位
背景图片在元素中应该出现的位置
属性:
Background-position:
取值:
X Y:水平位置偏移量 垂直位置偏移量
+为右-为左 +为下-为上
X% Y%:偏移量取决于元素的width和height,多数用于背景图水平和垂直居中的时候。
7、背景属性(综合)
属性:background
取值:值列表
Color url() repeat attachment position
Eg:

Background:#f00 url(images/pwd.png) no-repeat fixed 0px 0px;

常用:
Background:url repeat position;
Background:red;

十、渐变
1、渐变语法
属性:Background-image
取值:
Linear-gradient:线性渐变
Radial-gradient:径向渐变
Repeating-linear-gradient:重复线性渐变
Repeating-radial-gradient:重复径向渐变
Eg:
Background-image:linear-gradient(渐变参数);
1.线性渐变
语法:
Linear-gradient(angle,color-point1,color-point2)
Angle:渐变方向或角度
To top:向上 --> 0deg
To right:向右 --> 90deg
To bottom:向下 --> 180deg
To left:向左 --> 270deg
Color-point:颜色点
颜色值 位置
Red 0%
Blue 50%
Yellow 100%
2.径向渐变
语法:
Radial-gradient([size at positon],color-point1,color-point2…);

Size:圆的半径
Position:圆心位置
3.重复的线性渐变
语法:
repeating-linear-gradient(angle,color-point);

十一、文本格式化
1、字体属性
1.指定字体
属性:Font-family
值:val1,val2……
Eg:
Font-family:”microsoft yahei”,”arial”
2.字体大小
属性:font-size
值:px、pt为单位
3.字体加粗
属性:font-weight
取值:normal/bold/400-900
4.字体样式
作用:斜体
属性:Font-style
值:normal/italic
5.小型大写字母
属性:font-variant
取值:normal/small-caps
6.字体属性:font
属性:font
取值:font-style font-variant font-weight font-size font-family;
Eg:

Font:12px “microsoft yahei”;
Font:bold 12px “微软雅黑”;
Font:12px/24px “微软雅黑”;

2、文本属性
1.文本颜色
属性:color
2.文本排列(水平)
属性:text-align
取值:left、center、right
注意:设置在外层元素上控制内层的 文本和行内元素 水平对齐方式
3.文本修饰
线条修饰
属性:text-decoration
取值:none/underline/line-through
4.行高
作用:设置一行文本的高度是多少,如果行高高于文本的高度,那么文本将在这段高度中垂直居中
使用场合:制作文本的垂直居中,将行高设置成与当前元素高度一致即可。缺点:只能有一行文本
属性:line-height
值:px
5.首行文本缩进
第一行的开始处要空出多大的距离
属性:text-indent
取值:以px为单位的值
6.文本阴影
属性:text-shadow
取值:h-shadow v-shadow blur color
Eg:

text-shadow:0px  0px  1px  red;

十二、浮动定位
1、定位
定义元素框相对于其 正常位置 应该出现的位置
位置可以是相对于自身、父级元素位置、其他元素以及浏览器窗口本身的位置。

1.定位分类
1.普通流定位(文档流定位、正常流)默认定位方式
2.浮动定位
3.相对定位
4.绝对定位
5.固定定位
2.普通流定位
块级元素:从上到下的一个接一个的排列
内联元素:在一行中从左到右的水平排列
2、浮动定位
1.什么是浮动定位
将元素排除在普通流之外(脱离文档流)
元素将不再占据页面控件
将元素放在 包含框 的左边或者右边
浮动元素依旧位于包含框之内
2.浮动属性
属性:float
取值:left/right/none
3.清除浮动元素所带来的影响
属性:clear
取值:left/right/both/none
定义了元素的哪边上不允许出现浮动元素
4.浮动元素对父元素的影响
父元素的高度,与子元素(浮动的)无关
解决方案:
1.设置父元素的高度
2.通过overflow解决
在父元素内增加 overflow:hidden;属性撑起父元素高度。
5.元素只要浮动起来,就会变成块级的行内元素,要是浮动起来的话,就允许修改其宽高。

十三、显示
1、显示方式
页面元素的显示模式
属性:display
取值:none/block/inline/inline-block
None:让生成的元素没有框,即让生成的元素不显示(隐藏)。
Block:让元素表现的像块级一样。
Inline:让元素表现的像行内元素一样,多个元素占一行。
Inline-block:行内块,还是行内元素,会具备块级元素的一些特点,允许修改元素的宽和高。
2、显示效果
1.可见性
真正意义上完成元素的隐藏
属性:visibility
取值:
Visible:可见的,默认值
Hidden:元素不可见,但是依然占据空间。
Collapse:用在表格上,删除一行或一列不影响表格布局。
尤其注意:hidden和display:none的区别。
2.透明度
属性:opacity
取值:0-1之间的小数
0完全透明 1完全不透明
3.垂直对齐方式
属性:vertical-align
取值:
Baseline:默认,基线对齐,放在父元素的基线上。
Top:顶端对齐
Bottom:底端对齐
Middle:居中对齐
使用场合:
1.table里
2.Img:图片左右的文本相对于图片本身的垂直对齐方式
3、光标
属性:cursor
取值:
Default:浏览器默认
Pointer:鼠标变成手的形状
Crosshair:十字准心
Text:I
Wait:等待
Help:帮助

十四、列表样式
1、列表样式
1.列表项标识
属性:list-style-type
无序列表:
取值:
None
Disc
Circle
Square
有序列表:
取值:
None
Decimal
Lower-roman
……
2、列表项图像
将默认的标识替换成自己的图像
属性:list-style-image
取值:url(图像路径)
3、列表项的位置
属性:list-style-position
取值:
outside:默认值
Inside:将标识放在文本区域内
4、列表属性
属性:list-style:type url position
常用方式:list-style:none;

十五、定位
1、定位方式
属性:position
偏移属性:top、bottom、left、right
1.普通流定位
语法:
Position:static;
所有元素的position默认值都为static
2.相对定位
1.什么是相对定位
相对于元素原来的位置偏移某个距离
2.特点
元素仍然保持当前的形状
元素原来所占的空间依然保留
3.语法
Position:relative;
属性:position
值:relative

通过 left/right/top/bottom 实现位置偏移
4.使用场合
1.元素位置会发生微妙的变化
2.主要配合着其他的(绝对定位)定位方式一起来使用

3.绝对定位
绝对定位和相对定位的差别,定位元素的起始位置不同
1.什么是绝对定位
将元素内容从普通流中完全移除(脱离文档流),不占据页面空间。
绝对定位的起始位置:相对于离他最近的 已定位的(relative,absolute)祖先元素。
如果当前元素不具备已经定位的祖先元素,那么它的位置就相对于最初的包含块(body)。
2.语法
属性:position
值:absolute
通过:top、bottom、right、left实现位置的偏移。
3.使用场合
1.适合配合着relative做弹出菜单
4.固定定位
将元素固定在页面中的某个位置处,不随着滚动条发生位置的变化。
固定定位也从文档流中溢出,不占用页面空间
4.层叠顺序
属性:z-index
取值:不带单位的数字
使用场合:在已定位的元素身上使用,值越大越靠前

上一篇: 素数筛选的写法

下一篇: