Web前端开发css基础样式总结
颜色和单位的使用
颜色
用颜色的名字表示颜色,比如:red
用16进制表示演示 比如:#FF0000
用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-255之间
一般都用16进制表示颜色
单位
1. px像素(Pixel)。像素,与分辨率设置相关.
2. %相对于浏览器的百分之多少,可以对宽度width做设置,不可以对height做设置.
3. em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。
为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。
例子:
<html> <head> body{font-size: 16px;} p{font-size:0.75em;} span{font-size:2em;} </head> <body> 我大小为16px; <p> 段落文字大小为12px(16*0.75); <span> 我大小是2em,即24px,这里是相对父级字号*2的,而不是相对body里面的16px </span> </p> </body> </html>
4. rem,上面你看到了,em相对父级,嵌套一多了算字体到底多大就很操蛋,所以有了Rem(浏览器支持还不是很理想),
他只相对html或body的字体尺寸(默认还是16px,除非你自己用font-size定义为其他),没有了继承父级尺寸这个关系。
文本样式(text)
color:设置文本颜色
text-align:设置文本对齐方式(center/left/right)
letter-spacing:字间距/字母间距
word-spacing:单词间距,有空格就设置,中文看空格.
line-height:行高(第二行的行高=第一行底部到第三行顶部)
text-indent:一般30px就2个
text-decoration:文本装饰
underline:下划线
overline:上划线
line-through:删除线
blink 闪烁(不会用)
text-transform:大小写转换
uppercase:全部大写
lowercase:全部小写
capitalize:每个单词以大写开头
text-shadow:创建文本阴影(水平偏移量px,垂直偏移量px,模糊程度px,阴影颜色),模糊程度px值高越模糊.
例子:text-shadow: 0 0 2px #fff, 2px 0 #000, 0 2px #f00, -2px 0 #00f;(上,右,下,左)
设置字体:
font-family(字体族): “Arial”、“Times New Roman”、“宋体”、“黑体”等;
font-style(字体样式): normal(正常)、italic(斜体)或oblique(倾斜);
font-variant (字体变化): normal(正常)或small-caps(小体大写字母);
font-weight (字体浓淡): 是normal(正常)或bold(加粗)。有些浏览器甚至支持采用100到900之间的数字(以百为单位);
font-size(字体大小): 可通过多种不同单位(比如像素或百分比等)来设置, 如:12xp,12pt,120%,1em;
如果用 font 属性的话,就可以把几个样式进行简化,减少书的情况;font 属性的值应按以下次序书写(各个属性之间用空格隔开):
顺序:font-style | font-variant | font-weight | font-size | line-height | font-family
例子:
.font{
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:12px;
line-height:1.5em;
font-family:arial,verdana;
}
上面的样式简写为:
.font{font:italic small-caps bold 12px/1.5em arial,verdana;}
边框和背景
为元素应用边框
border-width:边框宽度
border-style:边框样式; none没有边框 dashed虚线 solied实线 double双线 groove槽线 dotted圆点线边框 inset内嵌 outset外凸 ridge 脊线边框
bolder-color:边框颜色
简写形式border:width style color 没有先后顺序
单独设置某一条边框
border-top/bottom/left/right-width/style/color
简写形式:border-top{width,style,color}
表格折叠边框
border-collapse:collapse;
注释:如果没有规定 !DOCTYPE,border-collapse 属性可能会引起意想不到的错误。
应用圆角边框(x半径,y半径,xy相同时写一个就好了)
border-top/bottom-left/right-radius
border-top-left-radius:5px;
border-radius:5px/5px 10px 15px 20px,那么其左上角半径为5px的圆,右上角水平半径为5px,垂直半径为10px的椭圆,右下角水平半径为5px,垂直半径为15px的椭圆故为圆,左下角水平半径为5px,垂直半径为20px的椭圆,如图
设置元素背景
background-image:{url("")} 背景图片地址
background-repeat:背景图重复方式,一般no-repeat
background-size:背景图尺寸
background-position:背景图位置
background-attachment:scrool;(fixed)背景图像是否固定或者随着页面的其余部分滚动。
简写:background:color image repeat position,尺寸不写,会冲突
创建盒子阴影
box-shadow:水平偏移量 垂直偏移量 模糊值 阴影的延伸半径 阴影颜色 10px 10px 5px 0px red;
添加多个阴影,直接第一个之后用逗号继续写第二个,第一个设置成整数,第二个阴影设置成负数
例子综合:
<li style="width: 100px; box-shadow: 0px -5px 2px 0px red, 5px 0px 2px 0px yellow, 0px 5px 2px 0px blue, -5px 0px 2px 0px green; border: 5px dotted rgb(0, 0, 0); outline: 2px dashed rgb(0, 0, 0);">
box-shadow:水平偏移量 垂直偏移量 模糊值 阴影的延伸半径 阴影颜色</li>
设置轮廓
边框和轮廓的区别:轮廓不属于页面,不会因为应用轮廓而调整页面的布局
边框占有实际大小,轮廓不占有
当设置hover悬停时,轮廓修饰的div不会发生位移,边框修饰时位移
outline-color:轮廓颜色
outline-style:轮廓样式
outline-width:轮廓宽度
outline-offset:轮廓距元素边框偏移量
简写: outline
其他样式(表格,列表,透明度,光标)
表格
border-collapse相邻单元格边框处理,合并表格=collapse
border-spacing:相邻单元格间距
caption-side:标题位置
empty-cells:空单元格是否显示
列表
list-style-tyle:列表前边的标记样式 圆点,方点等等
list-style-image:列表图像标记
简写:list-style:none 取消列表的所有属性 一般用于导航
横向导航: li{display:inline}
透明度
opacity:设置透明度(0-1之间取值)
光标形状
cursor:设置光标形状,当光标放在某个div上边,设置等待状,手形状等等.
盒子模型
盒子模型分为元素,内边距,边框,外边距,
1.设置一定尺寸的元素
1). width:设置元素宽度
2). height:设置元素高度
2.设置内边距
padding-top/bottom/right/left
padding:简写形式
3.设置外边距(边框到浏览器边缘或者到下一个盒子的距离)
margin-top/bottom/left/right
margin:简写形式
4.设置最小和最大尺寸(宽度设置为百分比时,扩大或缩小浏览器或者换了大屏或小屏显示器之后,防止元素错位或溢出)
min-width:最小值为两div宽度相加值
max-width:最大值
5.处理元素内容溢出
overflow-x/y:x或y轴溢出
overflow:简写形式: scroll设置滚动条(溢出处理方式)
6.改变元素类型
1).元素类型分为:
inline行内元素:在页面中不可设置宽高,也不会独占一行,b,span
inline-block行内块级元素:不能独占一行,但能设置宽高.img元素
block块级元素:独占一行,可以设置宽高,p,div元素
2).改变元素类型display:
元素类型可以相互转换,转化之后元素性质也随之改变
div一般不转化为行内元素,会丢掉,不能设置高
3).隐藏元素: display:none
7.浮动和阻止元素堆叠
浮动:float:left/right
消除元素堆叠在一起: clear:both(左右都消除)
8.技巧:
为了让div居中,直接margin:0 auto;
为了初始不执行浏览器默认特征: *{margin:0px; padding:0px}
为了防止div块溢出,设置最大最小值. 最小值就是左右两边div相加
文字垂直居中:line-height
做导航,链接a标签加到li标签外边
布局样式
1. 定位方式position
static:默认,元素为普通元素,文档流定位,从上到下
relative(相对的):元素的位置是相对于普通的位置定位的 ,位移之前的位置 其他元素用不了,一般不做太大的改动 ,对某个元素位置进行微调 ,只能使用top,left 我感觉他是相对于他之前的位置移动的
fixed(固定的):相对于浏览器窗口来定位 ,常用!!! ,位移之前位置不会被占用, 上下左右都可以使用, 小广告常用手法, 滚动条不断移,他的位置也不变 ,他会脱离文档流,漂浮于文档流上边,他这个上下左右是相对于边的位置,比如:top50px 不是向上移动50px ,而是元素相对于顶部边框距离50px 设置buttom也同样可以使用,而且拉动滚动条也不会变化位置
absolute(绝对的):元素相对position值不为static的一个祖先元素定 子元素依据祖先元素变化 祖先元素不能为static 依据谁变化,谁不可以为static(默认为static),发生在父子 或 祖先元素与后代元素之间的位移定位
2. 定位布局
top/bottom/left/right
3. z-index
用来设置元素 和 元素 的显示层数,正数 负数 都可以
必须配合position使用
过渡,变形
1. 过渡
过渡:元素由一种样式逐渐变为另一种样式
属性:
transition-delay:设置过渡前的延时(默认值为0s)
transition-duration:设置过渡用时
transition-property:设置过渡参与的属性
transition-timing-function:过渡速率(linear匀速)
transition:简写形式(property duration timing-function delay)
[注意]transition的这四个子属性之间不能用逗号隔开,只能用空格隔开。
2. 变形
transform: 指定如何变形
transform: scaleX/Y(1.5) 缩放1.5倍
transform: rotate(360deg) 旋转360度 deg代表度数,配合过渡时间 效果很好
transform: skew(X轴角度,Y轴角度) 倾斜的角度
transform: translate(X轴距离,Y轴距离) 移动的距离
未完待续。。。。