前端css

http://unclealan.cn/docs/

fonts.googleapis.com

css

css的三种引入方式

行间式:

写在标签内的style属性中

1
<p style="color:red;"</p>

内联式:

写在style标签内

1
2
3
4
5
<style>
p {
color:red
}
</style>

外联式:

通过导入

1
<link rel="stylesheet" type="text/css" href="./style.css">

优先级

三种方式没有优先级
三种方式协同布局
不重复的属性一定为唯一位置的唯一值
重复的属性采用覆盖赋值,保留最后位置的属性值
行间式一定是逻辑上最后被解析的位置
!important 会影响优先级

常用属性

字体

fontfamily

​ 字体家族 fontfamily:”Arial”,”Helvetica”,”宋体”,sansserif; 或者衬线字体serif

fontsize

​ 字体大小 10px 1.3em 都可以

fontweight

normal/bold 字体宽度 默认 以及加粗

fontstyle

​ normal/italic 字体风格 默认 斜体

fontvariant

normal/smallcaps 字体变形 默认 小型大写字母

font: 复合属性,宽风形大家,开放性大家

字体宽度. 字体风格.字体变形.字体大小.字体家族

[weight | style | variant] size family

字体家族
衬线字体:宋体,楷体,仿宋
非衬线字体:微软雅黑,黑体,思源黑体

举列子
1
2
3
4
fontsize: 30px;
fontweight: bold;
fontstyle: italic;
fontvariant: smallcaps;

颜色

color

设置文字颜色

文本

letter-spacing

​ 字母间隔 值为长度,可以是负值

px

像素

word-spacing

词的间距(通过空格识别)

px

像素

text-decoration

文字修饰

underline

下划线

overline

上划线

linethrough

删除线,主要是用来删除链接的下划线

none

(默认)=不写

text-align

​ 横向排列

left | right | center

左 | 右 | 中

verticalalign

​ 垂直对其方式

middle:

将支持valign特性的对象的内容与对象中部对齐

了解
1
2
3
4
5
6
7
8
9
10
baseline: 将支持valign特性的对象的内容与基线对齐 
sub: 垂直对齐文本的下标
super: 垂直对齐文本的上标
top: 将支持valign特性的对象的内容与对象顶端对齐
text-top: 将支持valign特性的对象的文本与对象顶端对齐

bottom: 将支持valign特性的对象的文本与对象底端对齐
text-bottom: 将支持valign特性的对象的文本与对象顶端对齐
<percentage>: 用百分比指定由基线算起的偏移量。可以为负值。基线对于百分数来说就是0%。
<length>: 用长度值指定由基线算起的偏移量。可以为负值。基线对于数值来说为0。(CSS2)

text-indent

文本缩进

em, px

单位

line-height

#####

设置行间距离 不允许使用负

px

单位

作业垂直居中

行高等于元素的高

word-wrap

允许长单词或URL地址换行到下一行

normal

​ 只在允许的断字点换行(浏览器保持默认处理)。

break-word

​ 在长单词或 URL 地址内部进行换行。

white-space

pre:

文本

用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字超出边界时不换行。可查阅pre对象

prewrap:

强制一行

用等宽字体显示预先格式化的文本,不合并文字间的空白距离,当文字碰到边界时发生换行。

CSS 属性/尺寸/边框/背景

尺寸 height width

height 高度
min-height 最小高度
max-height 最大高度
width 宽度

min-width

最小宽度inline-block 有用

max-width

最大宽度对块状有用

calc代数公式

calc(80px * 3)

边框 border (实体有风格颜色)

border-style

边框风格

dotted

点线

dashed

虚线

solid

实线

double

双实线

groove

槽状线

ridge

​ 脊线

inset

​ 内嵌效果

outset

外凸效果

border-width

边框宽度

border-color

边框颜色

border 宽 样式 颜色

复合属性 border: 1px solid #ccc

border-left-color

边框-单独设置各边

外边距(规律同内)

margin

  • margin-left

  • margin-right

  • margin-top

  • margin-bottom

    auto

    auto:左右auto,自适应(平方)剩余可布局空间

内边距(非实体仅距离)

padding-left

内边距-单独设置各边

padding-top

padding-right

padding-bottom

padding

1
2
3
4
padding: 值;  上下左右
padding: 值1 值2; 上下 左右
padding: 值1 值2 值3; 上 左右 下
padding: 值2 值2 值3 值4; 上 右 下 左

背景属性

background-color

背景颜色

transparent

为透明

background-image

背景图片

url()

图片地址

background-repeat

背景图片平铺

repeat

平铺

no-repeat

不平铺

repeat-x

水平平铺

repeat-y

垂直平铺

background-position

背景图片位置

left top

10px 10px 左 上

center center

中 中

background-attachment

背景图片固定

scroll / fixed

fixed超过固定宽度才看不到图片

background 复合属性

background:颜色图片平铺位置固定

color image repeat postion attachment

CSS精灵图

坐标方向

1553786517439

1553786595333

利用background-position,background-image,background-repeat配合

利用 background-position 设置背景图片的位置
把很多小的图片 集成到一张大图上
好处: 减少网络请求数量

鼠标光标设置 (CSS属性)

cursor css属性

text

文字选择器

crosshair

十字架

wait

等待

help

帮助

pointer

小手

布局属性

position

static

:静态,未定位(默认值)

relative

: 相对定位, 未脱离文档流

absolute:

绝对定位, 完全脱离文档流

fixed:

固定定位, 完全脱离文档流

z-index

脱离文档流的标签,具有z-index属性,可以用来控制显示层次的优先级,值为任意正整数

display:

block

此元素将显示为块级元素,此元素前后会带有换行符。

块:1.独行显示 2.支持宽高,宽默认适应父级,高默认由子级或内容撑开 3.设置宽高后,一定采用设置的宽高

inline

默认。此元素会被显示为内联元素,元素前后没有换行符。

内联:1.同行显示 2.不支持宽高

inineblock

行内块元素。(CSS2.1 新增的值)

内联块:1.同行显示,之间有间距 2.支持宽高,宽高由内容撑开 3.设置宽高后,一定采用设置的宽高,但只设置其中一个,另一个会根据内容等比缩放

none

此元素不会被显示。

float

描述
left 元素向左浮动。
right 元素向右浮动。
none 默认值。元素不浮动,并会显示在其在文本中出现的位置。
inherit 规定应该从父元素继承 float 属性的值。

clear

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

visibility

visible

默认值。元素是可见的。

其他

描述
hidden 元素是不可见的。
collapse 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 “hidden”。
inherit 规定应该从父元素继承 visibility 属性的值。

overflow

hidden

内容会被修剪,并且其余内容是不可见的。

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。消除子元素浮动对父元素的影响
inherit 规定应该从父元素继承 overflow 属性的值。

overflow-x

水平方向

overflow-y

垂直方向

标准文档流
盒子和盒子位置 margin塌陷
相关属性 display / overflow:auto/hidden/scroll overflowx overflowy margin visibility:visible/hidden

块级元素和内联元素

常见的块级元素有

div、form、table、p、pre、h1~h5、dl、ol、ul 等。

常见的内联元素有

span、a、strong、em、label、input、select、textarea、img、br等

CSS长度单位

px

像素

em

默认大小的倍数
百分比 默认大小参照

cm

厘米

mm

毫米

pt

point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

CSS 颜色单位

border,backgroundcolor

colorName:

red/green/bue/purple/orange/yellow/pink/skyblue

rgb数字

rgb(34,45,23) rgb(20%, 57%, 100%)

16进制

#abcdef #f90 #ccc

基本选择器

HTML元素选择器

1
2
3
div {

}

CLASS选择器

1
2
3
.className {

}

ID选择器

1
2
3
#idName {

}

全局选择器

1
2
3
* {

}

组合: 后代元素

1
2
3
4
5
6
7
选择器 选择器 {

}
.nav li {}
#box div {}
div .list {}
.container li {}

组合:子元素

1
2
3
4
5
6
7
选择器>选择器 {

}
.nav>li {}
#box>div {}
div>.list {}
.container>li {}

组合:群组选择器

1
2
3
4
5
6
7
选择器,选择器,选择器 {

}

body,ul,li,p,figure,table,.item,.listitem {

}

组合:多选择器

1
2
3
4
5
6
7
8
9
div.item {

}
.item.listitem {

}
div#container {

}

###

选择器优先级

!important>ID > CLASS > tagName > *

1
2
3
4
5
6
7
!important>ID > CLASS > tagName > *
计算 选择符 中ID的数量(=a)
计算 选择符 中 类选择器 属性选择器 伪类选择器 的数量(=b)
计算选择符 中 标签选择器 伪对象选择器的数量 (=c)
忽略全局选择器
a的权重100 b的权重10 c的权重1 相加
组合选择器 数数

所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序。

样式表中的特殊性描述了不同规则的相对权重,它的基本规则是:

1 内联样式表的权值最高 style=””------------1000;

2 统计选择符中的ID属性个数。 #id --------------100

3 统计选择符中的CLASS属性个数。 .class -------------10
4 统计选择符中的HTML标签名个数。 p --------------1

按这些规则将数字符串逐位相加,就得到最终的权重,然后在比较取舍时按照从左到右的顺序逐位比较。

1
2
3
4
5
6
7
8
9
1、文内的样式优先级为1,0,0,0,所以始终高于外部定义。

  2、有!important声明的规则高于一切。

  3、如果!important声明冲突,则比较优先权。

  4、如果优先权一样,则按照在源码中出现的顺序决定,后来者居上。

  5、由继承而得到的样式没有specificity的计算,它低于一切其它规则(比如全局选择符*定义的规则)。

总结

1
2
3
4
5
tagName
.className
#idName
*
slector,selector,selector

层级选择器

selector1 selector2

后代

selectoer1>selectoer2

子元素没有后代

selector1+selector2

紧邻在后面的兄弟元素(一个)

selector1~selector

后面所有兄弟元素

1.3 属性选择器

selector[attr]

​ 包含指定的属性

selector[attr=value]

​ 指定属性的值

selector[attr^=value]

属性值以value开头

selector[attr$=value]

​ 属性值以value结束

selector[attr*=value]

​ 属性值包含value

selector[][][]

多个属性选择器

属性选择器优先级 同 class

伪类选择器

1
2
3
4
/*语法*/
selector:伪类 {

}

常用

未访问的超链接

:visited

访问过的超链接

:hover

鼠标悬停 任意元素

:actived

激活状态的超链接

:focus

获得焦点时和input连用

可以设置后代

1
2
3
4
5
6
/*鼠标悬停*/
.list li:hover {
background: pink;
color: #fff;
border:1px dashed #999;
}

子元素选择器死脑子

E:first-child

1
匹配父元素的第一个子元素E。

E:last-child

1
匹配父元素的最后一个子元素E。 死脑子最后一个不是E元素无效

E:only-child

1
匹配父元素仅有的一个子元素E。

E:nth-child(数字n,奇数odd,偶数even)

1
匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效。

E:nth-last-child(n)

1
匹配父元素的倒数第n个子元素E,假设该子元素不是E,则选择符无效。

E:nth-last-child(n)

1
匹配父元素的倒数第n个子元素E,假设该子元素不是E,则选择符无效。

子元素选择器活脑子

E:first-of-type

1
匹配同类型中的第一个同级兄弟元素E

E:last-of-type

1
匹配同类型中的最后一个同级兄弟元素E

E:only-of-type

1
匹配同类型中的唯一的一个同级兄弟元素E

E:nth-of-type(n)

1
匹配同类型中的第n个同级兄弟元素E

E:nth-last-of-type(n)

1
匹配同类型中的倒数第n个同级兄弟元素E

E:empty

1
匹配没有任何子元素(包括text节点)的元素E

否定伪类选择器

E:not(s)

1
匹配不含有s选择符的元素E

伪元素选择器

E:first-letter/E::first-letter

1
设置对象内的第一个字符的样式。

E:first-line/E::first-line

1
设置对象内的第一行的样式。

E:before/E::before

1
设置在对象前(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
1
2
3
.message::before {
content:'你好';
}

E:after/E::after

1
设置在对象后(依据对象树的逻辑结构)发生的内容。用来和content属性一起使用
1
2
3
4
5
6
7
8
.message::after {
content:'大家好';
display: block;
width: 200px;
height: 100px;
border: 1px solid red;
margin: 10px;
}

集体去浮动

1
2
3
4
5
6
.clearfix::after {
content:'';
display: block;
clear:both;
}
再将需要去浮动的加入改类名

E::placeholder

1
设置对象文字占位符的样式。

E::selection

1
设置对象被选择时的样式。

CSS3

CSS3基础

浏览器私有前缀

1
2
3
4
weibkit*    chrome/safari
moz* firefox
ms* ie
o* opera

CSS3 新增的颜色

background:rgba(r,g,b,不透明度)

不透明度:0~1 小数, 数越大,越不透明

background-image:

linear-gradient渐变色

不加to上下

linear-gradient(right, red, yellow,green);

加左右

linear-gradient(to right, red, yellow,green);

CSS3新增长度单位

px

em

​ 默认字体大小的倍数

rem

​ 根元素字体大小的倍数,比如手机就需要

vw

​ 窗口宽度分成100份 50vw

vh

​ 窗口高度分成100份

CSS3新增属性

重新设置 盒子模型的规则

boxsizing:

contentbox(默认) /

width/height内容的宽高

borderbox

(width/height盒子的宽高,压缩内容)

outline:

外轮廓 在border的外面 不算盒子

  • outline 给元素周围绘制一条轮廓线

    1
    <' outline-width '> || <' outline-style '> || <' outline-color '>
  • outline-width 外廓线宽度

    : 用长度值来定义轮廓的厚度。不允许负值 medium: 定义默认宽度的轮廓。 thin: 定义比默认宽度细的轮廓。 thick: 定义比默认宽度粗的轮廓。

  • outline-style 外廓线风格

    none: 无轮廓。与任何指定的 <’ outline-width ‘> 值无关 dotted: 点状轮廓。 dashed: 虚线轮廓。 solid: 实线轮廓 double: 双线轮廓。两条单线与其间隔的和等于指定的 <’ outline-width ‘> 值 groove: 3D凹槽轮廓。 ridge: 3D凸槽轮廓。 inset: 3D凹边轮廓。 outset: 3D凸边轮廓。

  • outline-color 外廓线颜色

  • outline-offset 外廓线的偏移量

不透明度

opacity元素整体

0~1 小数

边框圆角

border-radius

设置或检索对象使用圆角边框。提供2个参数,2个参数以“/”分隔,每个参数允许设置1~4个参数值,第1个参数表示水平半径,第2个参数表示垂直半径,如第2个参数省略,则默认等于第1个参数 水平半径:如果提供全部四个参数值,将按上左(top-left)、上右(top-right)、下右(bottom-right)、下左(bottom-left)的顺序作用于四个角。 如果只提供一个,将用于全部的于四个角。 如果提供两个,第一个用于上左(top-left)、下右(bottom-right),第二个用于上右(top-right)、下左(bottom-left)。 如果提供三个,第一个用于上左(top-left),第二个用于上右(top-right)、下左(bottom-left),第三个用于下右(bottom-right)。

垂直半径也遵循以上4点。

  • border-top-left-radius 设置或检索对象的左上角圆角边框
  • border-top-right-radius 设置或检索对象的右上角圆角边框
  • border-bottom-right-radius 设置或检索对象的右下角圆角边框
  • border-bottom-left-radius 设置或检索对象的左下角圆角边框

boxshadow阴影

1
2
3
4
boxshadow:水平偏移 垂直偏移;   偏移可以负值
boxshadow:水平偏移 垂直偏移 颜色;
boxshadow:水平偏移 垂直偏移 模糊值 颜色; /*最常见的*/
boxshadow:水平偏移 垂直偏移 模糊值 外延值 颜色;

背景

backgroundsize

cover

优先 铺满元素。 多余的图片裁掉 保证原图比例

contain

优先 保证图片显示完整,可能元素不能铺满。 保证原图比例

400px 300px

指定背景大小

100% 100%

自定义

1
2
backgroundsize: cover / contain / 400px 300px / 100% 100%
background: color image postion/size repeat attachment

变换

transform

位移

translatex()
translatey()
translate(x, y)

旋转

rotate() 角度 deg

扭曲

skewx() 角度deg
skewy()
skew(x, y)

transform-origin

变换的原点。 对translate没有意义。 对rotate影响大

过渡效果

一般和:hover连用

哪些CSS属性可以过渡

1
2
3
4
长度 (padding margin width height  left/top/right/bottom borderwidth  backgroundposition ...)
颜色
变换
纯数字 (opacity、zindex)

触发过渡

1
2
3
伪类触发  :hover  :focus  ....
媒体查询 @media
JS

相关属性

transition-property

指定要过渡的属性 用,隔开。默认是 all 可以是with

transition-duration

过渡持续时间

transition-timingfunction

过渡线性效果

默认 ease

先加速后减速

匀速 linear

匀速

transition-delay

过渡延迟

transition:复合

property timingfunction duration delay

3.8 CSS3动画

关键帧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@keyframes 动画名字 {
0% {

}
20% {

}
40% {

}
100% {

}
}

相关CSS动画属性

1
2
3
4
5
6
7
8
animation-name  指定动画的名字
animation-duration 动画的执行时间
animation-timing-function 执行效果速度
animation-delay 延迟
animation-iteration-count 循环 次数 infinite(无限)
animation-direction: alternate (正向 反向 交替)\ reverse(反向)和hover连用
animation-play-state: running / paused
animation 复合属性

布局

1. CSS重置

reset.css

1
2
去掉所有元素的默认样式
也可以保证浏览器效果相同

normalize.css

1
2
3
4
5
6
重新设计了所有元素的默认样式
保证所有浏览器效果相同

优点:
添加了H5新元素的样式重置
没有简单粗暴
李江洋 wechat
添加微信,实地看房
欢迎联系我,带您实地看房