对齐
在 CSS 中,可以使用多种属性来水平对齐元素。
水平对齐
使用 margin 属性来水平对齐,可通过将左和右外边距设置为 "auto",来对齐块元素。
把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:
.center { margin-left:auto; margin-right:auto; width:70%; background-color:#b0e0e6; }
也可以简写为,这里把上下的外边距设定为0:
.center { margin:0 auto; }
左右对齐
使用绝对定位
对齐元素的方法之一是使用绝对定位:
.right { position:absolute; right:0px; width:300px; background-color:#b0e0e6; }
注释:绝对定位元素会被从正常流中删除,并且能够交叠元素。
使用浮动
对齐元素的另一种方法是使用 float 属性:
.right { float:right; width:300px; background-color:#b0e0e6; }
尺寸
CSS 尺寸属性允许你控制元素的高度和宽度。
- height:设置元素的高度。
- line-height:设置行高。
- max-height:设置元素的最大高度。
- max-width:设置元素的最大宽度。
- min-height:设置元素的最小高度。
- min-width:设置元素的最小宽度。
- width:设置元素的宽度。
分类
CSS 分类属性允许你控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。
- clear:设置一个元素的侧面是否允许其他的浮动元素。
- cursor:规定当指向某元素之上时显示的指针类型。
- display:设置是否及如何显示元素。
- float:定义元素在哪个方向浮动。
- position:把元素放置到一个静态的、相对的、绝对的、或固定的位置中。
- visibility:设置元素是否可见或不可见。
clear
clear 属性定义了元素的哪边上不允许出现浮动元素。
- left:在左侧不允许浮动元素。
- right:在右侧不允许浮动元素。
- both:在左右两侧均不允许浮动元素。
- none:默认值。允许浮动元素出现在两侧。
- inherit:规定应该从父元素继承 clear 属性的值。
cursor
cursor 属性规定要显示的光标的类型(形状)。
- url:需使用的自定义光标的 URL。注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。
- default:默认光标(通常是一个箭头)
- auto:默认。浏览器设置的光标。
- crosshair:光标呈现为十字线。
- pointer:光标呈现为指示链接的指针(一只手)
- move:此光标指示某对象可被移动。
- e-resize:此光标指示矩形框的边缘可被向右(东)移动。
- ne-resize:此光标指示矩形框的边缘可被向上及向右移动(北/东)。
- nw-resize:此光标指示矩形框的边缘可被向上及向左移动(北/西)。
- n-resize:此光标指示矩形框的边缘可被向上(北)移动。
- se-resize:此光标指示矩形框的边缘可被向下及向右移动(南/东)。
- sw-resize:此光标指示矩形框的边缘可被向下及向左移动(南/西)。
- s-resize:此光标指示矩形框的边缘可被向下移动(南)。
- w-resize:此光标指示矩形框的边缘可被向左移动(西)。
- text:此光标指示文本。
- wait:此光标指示程序正忙(通常是一只表或沙漏)。
- help:此光标指示可用的帮助(通常是一个问号或一个气球)。
display
display 属性规定元素应该生成的框的类型。
- none:此元素不会被显示。
- block:此元素将显示为块级元素,此元素前后会带有换行符。
- inline:默认。此元素会被显示为内联元素,元素前后没有换行符。
- inline-block:行内块元素。(CSS2.1 新增的值)
- list-item:此元素会作为列表显示。
- run-in:此元素会根据上下文作为块级元素或内联元素显示。
- compact:CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
- marker:CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
- table:此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。
- inline-table:此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。
- table-row-group:此元素会作为一个或多个行的分组来显示(类似 <tbody>)。
- table-header-group:此元素会作为一个或多个行的分组来显示(类似 <thead>)。
- table-footer-group:此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。
- table-row:此元素会作为一个表格行显示(类似 <tr>)。
- table-column-group:此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。
- table-column:此元素会作为一个单元格列显示(类似 <col>)
- table-cell:此元素会作为一个表格单元格显示(类似 <td> 和 <th>)
- table-caption:此元素会作为一个表格标题显示(类似 <caption>)
- inherit:规定应该从父元素继承 display 属性的值。
visibility
visibility 属性规定元素是否可见。
提示:即使不可见的元素也会占据页面上的空间。请使用 "display: none" 属性来创建不占据页面空间的不可见元素。
- visible:默认值,元素是可见的。
- hidden:元素是不可见的。
- collapse:当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"。
- inherit:规定应该从父元素继承 visibility 属性的值。
图像透明度
定义透明效果的 CSS3 属性是 opacity。
请看下面的 CSS:
img { opacity:0.4; filter:alpha(opacity=40); /* 针对 IE8 以及更早的版本 */ }
IE9, Firefox, Chrome, Opera 和 Safari 使用属性 opacity 来设定透明度。opacity 属性能够设置的值从 0.0 到 1.0。值越小,越透明。
IE8 以及更早的版本使用滤镜 filter:alpha(opacity=x)。x 能够取的值从 0 到 100。值越小,越透明。
下面我们看一个效果,图片鼠标移入时不透明:
img { opacity:0.4; filter:alpha(opacity=40); /* 针对 IE8 以及更早的版本 */ } img:hover { opacity:1.0; filter:alpha(opacity=100); /* 针对 IE8 以及更早的版本 */ }