CSS学习笔记(五) 颜色声明&元素定位
2014-12-24 16:44
435 查看
/******************************************************/
3.颜色值
颜色值可以用几种不同的格式来写,包括 RGB( Red, Green, Blue,红绿蓝)、HSL( Hue, Saturation, Luminance,色相,饱和度,亮度)和 十六进制值(例如
color:#336699)
3.1 颜色名
W3C 定义了 16 个颜色关键字:[code]aqua(浅绿色)、 black(黑色)、 blue(蓝色)、 fuchsia(紫红色)、 gray(灰色)、 green(绿色)、 lime(黄绿色)、 maroon(褐红色)、 navy(深蓝色)、 olive(茶青色 )、 purple(紫色)、 red(红色)、 silver(银色)、 teal(青色)、white(白色)和 yellow(***)。
提示:一般来说,颜色关键字最常用于指定白色和黑色。
3.2 十六进制颜色
格式:#rrggbb
示例:
#ff8800
说明:
这个6位数的前两位定义 红色(red),中间两位定义 绿色(green),后两位定义
蓝色(blue)。
十六进制以16为基数,使用数字
0-9和字母
a-f,共16个值。其中,
a-f代表10到15。由于每种颜色用两位十六进制值表示,因此该颜色就有
256( 16× 16)种可能的值,结果就是
16777216(256× 256× 256)种组合,也就是可以表示那么多种颜色。
范围是16进制的
00-ff,
00表示没有颜色,
ff表示颜色最强。所以
#000000表示黑色,
#ffffff表示白色,同样
#ff0000表示纯红色,
#00ff00表示纯绿色,
#0000ff表示纯蓝色。
如果三对值中的每一对是两个相同的数字,也可以使用简写形式:
#rgb
示例:
#ff3322=
#f32(深红色)、
#ffffff=
#fff(白色)
提示:在设定阴影的时候,简写方式可以省不少劲儿。
3.3 RGB颜色值
格式:rgb(r, g, b)
示例:
rgb(0, 255, 0)
说明:
每种颜色都可以用一个 0 到 255(包含)之间的值指定。
与十六进制 RGB 值一样,只不过使用的是 十进制 的数值。因为每种颜色都有
256种可能,所以它能表示的颜色数量与十六进制格式的一样。
3.4 RGB百分比值
格式:rgb(r%, g%, b%)
说明:可以接受的值是 0%到 100%。虽然以这种方法只能表示区区 一百万( 100 × 100 ×100)种颜色,但对我们绝大数人来说,也已经足够了。
3.5 HSL
格式:HSL (色相, 饱和度%, 亮度%)
说明:
HSL 比我们见过的各种 RGB 方式更直观,因为使用它更容易写出和看懂颜色。
HSL 颜色中的第一个值表示色相,也就是一个实际的颜色,比如红色和绿色。所有
颜色围绕色相环(也叫 色轮)一周,而 色相值以圆周上的度数表示。
彩虹七色在色轮中大致的色相值:
红:0
橙:35
黄:60
绿:125
蓝:230
靛:280
紫:305
饱和度 设定有多少颜色,灰色的饱和度低,而强烈的色彩饱和度高。亮度 设定颜色的明暗, 0%就是黑色, 100%就是白色。
如果把上面七彩虹的色相值都记住,或者就放在手边,那么你会发现想写出什么颜色都不在话下。 RGB 和十六进制颜色值,都要求你事先在大脑里先混合颜色,而 HSL则只有一个表示颜色的值。把饱和度和亮度都设定为 50%,就可以轻松调制出你想要的任何颜色来。
3.6 Alpha通道
RGB 和 HSL 都支持 Alpha 通道,用于设置颜色的不透明度。相应的格式分别叫RGBA和
HSLA。其中,两种格式中的 A( alpha)值可以是 1(完全不透明)也可以是 0(完全透明),或者介于 1 和 0 之间的小数值。
1.盒模型
盒模型,就是 浏览器为页面中的每个 HTML 元素生成的矩形盒子。这些盒子们都要按照 可见版式模型(visual formatting model)在页面上排布。可见的页面版式主要由三个属性控制: position 属性、 display 属性和 float 属性。其中,position 属性控制页面上元素间的位置关系, display 属性控制元素是堆叠、并排,还是根本不在页面上出现, float 属性提供控制的方式,以便把元素组成成多栏布局。
盒子属性分三组:
边框(border)。可以设置边框的宽窄、样式和颜色。
内边距(padding)。可以设置盒子内容区与边框的间距。
外边距(margin)。可以设置盒子与相邻元素的间距。
可以这么理解盒子属性:外边距是边框向 外推 其他元素,而内边距是从边框向 内推 元素的内容。
CSS 为边框、内边距和外边距分别规定了简写属性。在每个简写声明中,属性值的顺序都是上、右、下、左(顺时针旋转)。
示例:
margin:5px 10px 12px 8px;
注意:4 个值之间有空格,但不能是其他分隔符(比如逗号之类的)。甚至,你都不用把 4 值
全都写出来——如果哪个值没有写,那就使用对边的值。
示例:
margin:12px 10px 6px;
说明:缺少最后一个值(左边),使用对边(右边)的值(
10px),即:
margin:12px 10px 6px 10px。
示例:
margin:12px 10px;
说明:缺少最后两个值(下边和左边),使用上边(
12px)和右边(
10px),即:
margin:12px 10px 12px 10px;
示例:
margin:12px;
说明:只写一个值,那么4个边都去这个值。即:
margin:12px 12px 12px 12px;
1.1 盒子边框
边框(border)有3个相关属性:宽度
可以使用
thin、
medium和
thick等文本值,也可以使用
除百分比和负值之外的任何绝对值。
样式
有
none、
hidden、
dotted、
dashed、
solid、
double、
groove、
ridge、
inset和
outset等文本值。
颜色
可以使用任意颜色值,包括
RGB、
HSL、
十六进制颜色值和
颜色关键字。
1.2 盒子内边距
内边距(padding)用来设置盒子内容区与边框的间距。在没有设定内边距的情况下,内容会紧挨着边框。1.3 盒子外边距
外边距(margin)用来设置盒子与相邻元素的间距。推荐使用这条规则作为样式表的第一条规则:
* {margin:0; padding:0;}
说明:这条规则把所有元素默认的外边距和内边距都设定为零。把这条规则放到样式表里后,所有默认的外边距和内边距都会消失。然后,你可以为那些真正需要外边距的元素再添加外边距。不同浏览器默认的内边距和外边距也不一样,特别是对表单和列表等复合元素。在这种情况下,用这条规则
中和 默认值,然后再根据需要添加,则会在各浏览器上获得一致的效果。
1.4 叠加外边距
垂直方向上的外边距会叠加,这可是你必须得知道的一件事。In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can combine to form a single margin. Margins that combine this way are said to collapse, and the resulting combined margin is called a
collapsed margin.
在CSS中,两个或多个毗邻(父子元素或兄弟元素)的普通流中的块元素垂直方向上的 margin 会发生叠加。这种方式形成的外边距即可称为外边距叠加(collapsed margin)。
1.5 外边距的单位
根据经验,为文本元素设置外边距时通常需要混合使用不同的单位。比如说,一个段落的左、右外边距可以使用像素,以便该段文本始终与包含元素边界保持固定间距,不受字号变大或变小的影响。而对于上、下外边距,以 em 为单位则可以让段间距随字号变化而相应增大或缩小。示例:
p {font-size:1em; margin:.75em 30px;}
2.浮动与清除
浮动和清除是用来组织页面布局的一柄利剑,这柄剑的剑刃就是float和
clear属性。
2.1 浮动
浮动,可以想象把元素从常规文档流中拿出来。浮动元素脱离了常规文档流之后,原来紧跟其后的元素就会在空间允许的情况下,向上提升到与浮动元素平起平坐。如果浮动元素后面有两个段落,而你只想让第一段与浮动元素并列(就算旁边还能放第二段,也不想让它上来),可以使用
clear属性来
清除 第二段,然后它就会乖乖地呆在浮动元素下面了。
浮动 最常见的作用:
实现传统出版物上那种文字绕排图片的效果
让原来上下堆叠的块级元素,变成左右并列,从而实现布局中的分栏。
2.2 围住浮动元素的三种方法
注意:三种方法各有利弊,看情况使用。方法一:为父元素添加
overflow:hidden
方法二:同时浮动元素
方法三:添加非浮动的清除元素
3.定位
CSS 布局的核心是position属性,对元素盒子应用这个属性,可以相对于它在常规文档流中的位置重新定位。
position属性有 4 个值:
static、
relative、
absolute、
fixed,默认值为
static。
3.1 静态定位
static
在静态定位的情况下,每个元素都处于常规文档流中。要突破这种布局元素的方式,就必须把盒子的
position属性改为其它三个值。
3.2 相对定位
relative
相对定位,相对的是它原来在文档流中的位置(或者默认位置)。设置之后,可以使用
top、
right、
bottom和
left属性来改变它的位置。多数情况下,只用
top和
left就可以实现我们想要的效果。
使用相对定位的关键就是要考虑到元素原来的空间。因为使用了相对定位的元素只是相对于原始位置挪动了一下,页面没有任何变化,即元素原来占据的空间没有动,其他元素也没动。
3.3 绝对定位
absolute
绝对定位会把元素彻底从文档流中拿出来,然后相对于其他元素(默认是定位上下文
body)定位。同样可以通过
top和
left设定偏移值来决定位置。
3.4 固定定位
fixed
从完全移出文档流的角度说,固定定位与绝对定位类似。但不同之处在于,固定定位元素的定位上下文是视口(浏览器窗口或手持设备的屏幕),因此它不会随页面滚动而移动。
提示:固定定位并不常用,最常见的情况是用它创建不随页面滚动而移动的导航元素。
3.5 定位上下文
定位上下文,指的是定位元素所相对偏移的元素。事实上,只要把元素的外边距和内边距设定好,多数情况下只用静态定位就足以实现页面布局了。很多刚开始接触 CSS 的初学者都会错误地设定
position属性,最终才发现从文档流中挪出来的这些元素一点也不好控制。因此,除非真需要那么做,否则 不要轻易修改元素默认的
position属性。
4.显示属性
所有元素都有position属性,也有
display属性。
display属性有三个值:
block、
inline和
none。
块级元素,比如段落,标题,列表等,在浏览器上下堆叠显示。
行内元素,比如
a、
span、
img,在浏览器中左右并排显示,只有前一行没有空间时才会显示到下一行。
把块级元素变成行内元素(或者相反):
[code]/*默认为 block*/ p {display:inline;} /*默认为 inline*/ a {display:block;}
把元素的
display设置为
none,则该元素及所有包含在其中的元素,都不会在页面显示,它们原先占据的空间也不会被回收,就好像相关标记根本不存在一样。
与此相对的元素是
visibility属性,属性值为:
visible(默认值)和
hidden。如果设置为
hidden,元素会被隐藏,但其占据的页面空间会被保留。
相关文章推荐
- HTML&CSS基础学习笔记1.25-input标签的选择文件和隐藏元素
- H5学习笔记——CSS文本设置属性&颜色表示法
- HTML&CSS基础学习笔记1.30-颜色的表达
- css学习笔记(5)动态定位 滤镜
- CSS学习笔记(4)定位/表格/滚动条
- HTML&CSS学习笔记
- webdriver(python)学习笔记四——定位一组元素
- HTML&CSS学习笔记
- 学习CSS&Div笔记(1)
- xhtml & css 简易学习笔记(三)
- CSS学习(5)--float浮动元素、元素的定位和堆叠、以及css文件的验证
- CSS学习笔记之(1):文档流、块级元素、内联元素
- jQuery 学习笔记 CSS, Styling, & Dimensions
- CSS学习之 元素定位
- CSS 基础:定位元素(3)<思维导图>
- Jsp&Servelet 学习笔记- 在Tomcat中的servlet.xml使用Context元素
- CSS学习笔记--定位
- xhtml & css 简易学习笔记(一)
- xhtml & css 简易学习笔记(二)
- web前端学习笔记(CSS盒子的定位)