css3(上)

#今天再来回锅下css3的一些知识点。

首先呢 大家要记住一点 css它是层叠样式表。

##好的,进入正题,先来讲一下css的几种样式:

###第一种引入方式:行间样式

<div style="width:88px;"></div>

优点:可以直接作用于标签,不会影响到其他标签。有冲突的css样式,优先级最高。

缺点:不能重复使用。影响html文档。影响阅读体验。也不利于代码的维护。

###第二种引入方式:html文档内容引入:

<style type="text/css"></style>

优点:在head标签内引入style区域,不会影响body标签结构,有点内容,样式分离的味道。

缺点:不能重复使用,优先级低于行间样式。

###第三种引入方式:外部引入方式:

<link/>

优点:完全的内容,样式分离,可以和其它html文档共享css文件。

缺点:会发生一次请求,浏览器渲染html的时候,会请求样式。内部的样式就不会发生请求。

##然后,在说一下,css的几种选择器:

###id选择器

#nav

特点:具有唯一性。

###class选择器

.nav

特点:可以使用相同名字。

###标签选择器

a h1 p

特点:能够决定这些特殊标签应该采用的相应的css样式。

###通配选择器

*

特点:能够是给所有元素设置样式。

###层级选择器

.nav .list

特点:可以选择特定元素或者元素组的后代

###群组选择器

.nav,.nav

特点:使用群组选择器,将会大大的简化css代码,即提高了编码的效率,也减少了css文件的体积。

###伪类选择器

a:link 链接未点击上去的状态

a:visited 访问过的状态

a:hover 悬浮的状态

a:active 点击没有松开的状态

###伪元素选择器

p::first

特点:伪元素选择器不能跟任何元素派生选择器。

##小扩展:颜色值。

###1.关键词 直接使用的名字的颜色值称为命名颜色,css支持17种合法命名颜色。

color:aqua fuchsia lime olive red white black gray maroon orange silver yellow blue green navy purple teal(浏览器支持140种颜色)

###2.16进制 6进制是设置颜色值的常用方式,将三个介于00-FF的十六进制数连接起来,若16进制的3组数各自成对,则可简写为3位。

color:#fff;

###3.rgb 通过组合不同的红色、绿色、蓝色分量创造出的颜色成为RGB模式的颜色。显示器是由一个个像素构成,利用电子束来表现色彩。像素把光的三原色:红色(R)、绿色(G)、蓝色(B)组合起来。每像素包含8位元色彩的信息量,有0-255的256个单元,其中0是完全无光状态,255是最亮状态 ,若数值小于最小值0,则默认调整为0;若数值大小最大值255,则默认调整为255.

color:rgb(255,255,255)

###4.rgba (IE8-浏览器不支持) rgba模式是在RGB基础上增加了alpha通道,用来设置颜色的透明度,其中这个通道值的范围是0-1。0代表完全透明,1代表完全不透明

color:rgb(255,255,255,0.8)

###5.hsl (扩展知识,实用性低)(IE8-浏览器不支持) HSL模式是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互的叠加得到各式各样的颜色。HSL标准几乎可以包括人类视力所能感知的所有颜色.h:色调(hue)可以为任意整数。0(或360或-360)表示红色,60表示黄色,120表示绿色,180表示青色,240表示蓝色,300表示洋红(当h值大于360时,实际的值等于该值模360后的值).s:饱和度(saturation),就是指颜色的深浅度和鲜艳程度。取0-100%范围的值,其中0表示灰度(没有该颜色),100%表示饱和度最高(颜色最鲜艳).l:亮度(lightness),取0-100%范围的值,其中0表示最暗(黑色),100%表示最亮(白色)

###hsla (IE8-浏览器不支持)HSLA模式是HSL的扩展模式,在HSL的基础上增加一个透明通道alpha来设置透明度
hsla(<length>,<percentage>,<percentage>,<opacity>)


##再说一下单位

###1.px 具体单位 具体到像素

width:100px

###2.100% 百分比 根据父级

width:100%

###3.em 单位被定义为当前字体大小 根据body

<body>

    <div></div>

</body>

body{width:100px} div{width:1.2em}所以div的宽度应该是120px;

###4.rem 基于根元素html进行设置

<html>

    <div></div>

</html>

body{font-size:10px} div{font-size:1.2em}`所以div的font-size应该是12px;

###5.vh和vw (扩展知识)视窗单位 vh等于viewport高度的1/100.例如,如果浏览器的高是900px,1vh求得的值为9px。同理,如果显示窗口宽度为750px,1vw求得的值为7.5px。

##基线、底线、顶线

行高指的是文本行的基线间的距离。
基线并不是汉字的下端沿,而是英文字母”x”的下端沿

##行距、行高

##font字体

font:italic bold 12px/20px arial,sans-serif;

font简写顺序:font-style,font-variant,font-weight,font-size/line-height,font-family;

(扩展知识)字体是文字的外在形式,就是文字的风格,是文字的外衣。比如行书、楷书、草书,都是一种字体。同样一个字每个人写起来都会有差异,可以说每个人都有一套潜在的字体库。对于web页面来说,字体就是计算机上存储的一套文字显示方式。通过对文字进行一些特殊处理(比如末端加强)来提高不同环境中文字的可读性。

比如同样大小的文字,在不同字体下的可读性是不同的。