一、CSS 水平对齐
在 CSS 中,可以使用多种属性来水平对齐元素。
文本对齐,见CSS复习(上)样式——文本text-align
这里是出于布局目的如何水平对齐块级元素。
块元素指的是占据全部可用宽度的元素,并且在其前后都会换行。
<h1><p><div>……
1.使用 margin 属性来水平对齐
可通过将左和右外边距设置为 “auto”,来对齐块元素。
把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:
margin-left:auto;
margin-right:auto;
或者
margin:auto;
提示:如果宽度是 100%,则对齐没有效果。
2.使用 position 属性进行左和右对齐
对齐元素的方法之一是使用绝对定位:
position:absolute;
注释:绝对定位元素会被从正常流中删除,并且能够交叠元素。
left和right属性进行左右对齐。
<<正常流就是文档流,请看这个博主的文章回顾>>
3.使用 float 属性来进行左和右对齐
对齐元素的另一种方法是使用 float 属性:
float:left/right/top/bottom
二、CSS尺寸
CSS 尺寸 (Dimension) 属性允许你控制元素的高度和宽度。同样,它允许你增加行间距。
属性 | 描述 |
---|---|
height | 设置元素的高度。 |
line-height | 设置行高。 |
max-height | 设置元素的最大高度。 |
max-width | 设置元素的最大宽度。 |
min-height | 设置元素的最小高度。 |
min-width | 设置元素的最小宽度。 |
width | 设置元素的宽度。 |
三、CSS分类
CSS 分类(Classification)属性允许你规定如何以及在何处显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。
1.clear
clear 属性规定元素的哪一侧不允许其他浮动元素。
left
:在左侧不允许浮动元素。
right
:在右侧不允许浮动元素。
both
:在左右两侧均不允许浮动元素。
none
:默认值。允许浮动元素出现在两侧。
inherit
: 规定应该从父元素继承 clear 属性的值。
2.cursor
规定鼠标指针放在一个元素边界范围内时显示的光标的类型(形状)。
属性值 | 描述 |
---|---|
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 | 此光标指示可用的帮助(通常是一个问号或一个气球)。 |
url注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。
style="cursor:help"
3.dispaly
规定元素应该生成的框的类型。
属性值 | 描述 |
---|---|
none | 此元素不会被显示。 |
block | 此元素将显示为块级元素,此元素前后会带有换行符。 |
inline | 默认。此元素会被显示为内联元素,元素前后没有换行符。 |
inline-block | 行内块元素。 |
list-item | 此元素会作为列表显示。 |
run-in | 此元素会根据上下文作为块级元素或内联元素显示。 |
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 属性的值。 |
4.float
定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。
5.position
把元素放置到一个静态的、相对的、绝对的、或固定的位置中。
6.visibility
规定元素是否可见。
这个属性指定是否显示一个元素生成的元素框。这意味着元素仍占据其本来的空间,不过可以完全不可见。值 collapse
在表中用于从表布局中删除列或行。
提示:即使不可见的元素也会占据页面上的空间。请使用 “display” 属性来创建不占据页面空间的不可见元素。
visible
:默认值。元素是可见的。
hidden
: 元素是不可见的。
collapse
: 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"
。
inherit
: 规定应该从父元素继承 visibility 属性的值。
四、CSS导航栏
拥有易用的导航条对于任何网站都很重要。
1.导航栏 = 链接列表
导航栏基本上是一个链接列表,因此使用 HTML 列表的<ul>
和 <li>
元素是非常合适的。
<ul>
<li><a href="default.asp">Home</a></li>
<li><a href="news.asp">News</a></li>
<li><a href="contact.asp">Contact</a></li>
<li><a href="about.asp">About</a></li>
</ul>
//去掉圆点和外边距
ul
{
list-style-type:none;
margin:0;
padding:0;
}
2.垂直导航栏
定义 <a>
元素的样式
a
{
display:block;
width:60px;
}
3.水平导航栏
有两种创建水平导航栏的方法。使用行内或浮动列表项。
要使链接拥有相同的尺寸,就必须使用浮动方法。
行内列表项:
将 <li>
元素规定为行内元素:
li
{
display:inline;
}
对列表项进行浮动:
为了让所有链接拥有相等的宽度,浮动 <li>
元素并规定 <a>
元素的宽度:
li
{
float:left;
}
a
{
display:block;
width:60px;
}
五、CSS图片库
CSS 可用来创建图片库。
<!doctype html>
<html>
<head>
<style>
div.img <!-- 图片外边框设计-->
{
margin:3px;
border:1px solid #bebebe;
height:auto;
width:auto;
float:left;
text-align:center;
}
div.img img <!-- 图片设计 行内块 边框色-->
{
display:inline;
margin:3px;
border:1px solid #bebebe;
}
div.img a:hover img <!-- 鼠标悬浮在图片上时 边框变色-->
{
border:1px solid #333333;
}
div.desc <!-- 图片描述区设计 -->
{
text-align:center;
font-weight:normal;
width:150px;
font-size:12px;
margin:10px 5px 10px 5px;
}
</style>
</head>
<body>
<div class="img">
<a target="_blank" href="/i/tulip_ballade.jpg"> <!-- 插入链接-->
<img src="/i/tulip_ballade_s.jpg" alt="Ballade" width="160" height="160">
</a>
<div class="desc">在此处添加对图像的描述</div> <!-- 图片描述-->
</div>
</body>
</html>
六、CSS图片透明
1.创建透明图像
定义透明效果的 CSS3 属性是 opacity
。
img
{
opacity:0.4; **CSS3属性**
//opacity 属性能够设置的值从 0.0 到 1.0。值越小,越透明。
filter:alpha(opacity=40); **IE浏览器**
// filter:alpha(opacity=x)。x 能够取的值从 0 到 100。值越小,越透明。
}
2.:hover
设置鼠标悬浮产生的效果。
img:hover
{
opacity:1.0;
filter:alpha(opacity=100); /* 针对 IE8 以及更早的版本 */
}
七、CSS媒介类型
媒介类型(Media Types)允许你定义以何种媒介来提交文档。文档可以被显示在显示器、纸媒介或者听觉浏览器等等。
1.@media规则
@media 规则使你有能力在相同的样式表中,使用不同的样式规则来针对不同的媒介。
下面这个例子中的样式告知浏览器在显示器上显示 14 像素的 Verdana 字体。但是假如页面需要被打印,将使用 10 个像素的 Times 字体。注意:font-weight 被设置为粗体,不论显示器还是纸媒介:
<html>
<head>
<style>
@media screen
{
p.test {font-family:verdana,sans-serif; font-size:14px}
}
@media print
{
p.test {font-family:times,serif; font-size:10px}
}
@media screen,print
{
p.test {font-weight:bold}
}
</style>
</head>
<body>
<p class="test">显示还是打印呢?</p>
</body>
</html>
2.不同的媒介类型
媒介类型 | 描述 |
---|---|
all | 用于所有的媒介设备。 |
aural | 用于语音和音频合成器。 |
braille | 用于盲人用点字法触觉回馈设备。 |
embossed | 用于分页的盲人用点字法打印机。 |
handheld | 用于小的手持的设备。 |
用于打印机。 | |
projection | 用于方案展示,比如幻灯片。 |
screen | 用于电脑显示器。 |
tty | 用于使用固定密度字母栅格的媒介,比如电传打字机和终端。 |
tv | 用于电视机类型的设备。 |
注释:媒介类型名称对大小写不敏感。