CSS复习(下)——CSS高级

一、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
把元素放置到一个静态的、相对的、绝对的、或固定的位置中。

float和position见CSS复习(中)——定位

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用于小的手持的设备。
print用于打印机。
projection用于方案展示,比如幻灯片。
screen用于电脑显示器。
tty用于使用固定密度字母栅格的媒介,比如电传打字机和终端。
tv用于电视机类型的设备。

注释:媒介类型名称对大小写不敏感。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值