HTML5移动开发学习笔记之CSS3基础学习

HTML5移动开发学习笔记之CSS3基础学习

  CSS回顾

 在学CSS3之前首先巩固下CSS的基础知识。

1.CSS框模型

 

举例子:

 #box { width: 70px; margin: 10px; padding: 5px; }

这个代码将出现的效果是:

 

2.CSS定位与浮动

 1)定位:

属性 描述
 position 把元素放到一个静态的(static:元素框正常生成),相对的(relative:元素框偏移某个距离[相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置]),绝对的(absolute:元素框从文档流完全删除,并相对于其包含块定位),或固定(fixed:元素框的表现类似于absolute,不过其包含块的视窗本身)的位置中
 top,right,bottom,left 定义一个元素的上,右,下,左外边距边界与其包含块上,右,下,左边界之间的距离。注:如果position的属性值为”static”,则不会有任何效果。
 overflow 设置当元素内容溢出其区域发生的事。overflow: scroll(显示滚动条)|hidden(隐藏)|auto(浏览器自动处理)
 clip 设置元素的形状,元素被剪入这个形状之中 rect (top, right, bottom, left)
 vertical-align 设置元素的垂直对齐方式。如:vertical-align:text-top;把元素的顶端与父元素字体的顶端对齐
 z-index  设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面(1>0>-1) 注:Z-index 仅能在定位元素上奏效(例如 position:absolute;)!

 看下对这些知识点的练习:

  效果:

代码:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 <style type="text/css">
 7 h2.pos_left
 8 {
 9 position:relative;
10 left:-20px;
11 top:-20px;
12 }
13 h2.pos_right
14 {
15 position:relative;
16 left:20px;
17 top:20px;
18 }
19 h2.pos_absleft
20 {
21 position:absolute;
22 left:280px;
23 top:30px;
24 color:red
25 }
26 h2.pos_absright
27 {
28 position:absolute;
29 left:-10px;
30 top:90px;
31 color:red
32 }
33 h2.one
34 {
35 position:fixed;
36 left:15px;
37 top:235px;
38 }
39 h2.two
40 {
41 position:fixed;
42 top:30px;
43 right:15px;
44 }
45 #over 
46 {
47 background-color:#00FFFF;
48 width:150px;
49 height:150px;
50 overflow: auto
51 }
52 </style>
53 </head>
54 
55 <body>
56 <p>1.绝对定位和相对定位的区别:
57 </p>
58 <h2>这是正常位置</h2>
59 <h2 class="pos_left">相对定位1</h2>
60 <h2 class="pos_right">相对定位2</h2>
61 <h2 class="pos_absleft">绝对定位的移动1</h2>
62 <h2 class="pos_absright">绝对定位的移动2</h2>
63 </body>
64 <hr />
65 <p>2.固定定位:
66 </p>
67 <h2 class="one">固定定位测试1。</h2>
68 <h2 class="two">固定定位测试2。</h2>
69 <p>&nbsp;</p>
70 <hr />
71 <p>3.overflow的使用:overflow: scroll(显示滚动条)|hidden(隐藏)|auto(浏览器自动处理)
72 </p>
73 <div id="over">
74 这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。默认值是 visible。
75 </div>
76 </html>

View Code

2)浮动:

 W3School上讲解的浮动较简单,不过也有些不太好理解。借鉴http://www.jb51.net/css/67471.html 这篇文章,对浮动有了点理解。

  浮动:浮动的框可以左右移动,直至它的外边缘遇到包含框或者另一个浮动框的边缘。浮动框不属于文档中的普通流,当一个元素浮动之后,不会影响到 块级框的布局而只会影响内联框(通常是文本)的排列,文档中的普通流就会表现得和浮动框不存在一样,当浮动框高度超出包含框的时候,也就会出现包含框不会 自动伸高来闭合浮动元素(“高度塌陷”现象)。顾名思义,就是漂浮于普通流之上,像浮云一样,但是只能左右浮动。 
正是因为浮动的这种特性,导致本属于普通流中的元素浮动之后,包含框内部由于不存在其他普通流元素了,也就表现出高度为0(高度塌陷)。在实际布局中,往往这并不是我们所希望的,所以需要闭合浮动元素,使其包含框表现出正常的高度。

我们先来看下高度塌陷的现象:

 

代码为:

<style type="text/css">
.news {
  background-color: gray;
  border: solid 1px black;
  }

.news img {
  float: left;
  }

.news p {
  float: right;
  }

</style>
</head>
<body>
<p>①因为浮动表现出高度为0(高度塌陷)的现象:
</p>
<div class="news" width="50px">
<img src="XiaoKeAi.jpg" />
<p>这是文本</p>
<p>这是文本</p>
<p>这是文本</p>
</div>
</body>

然后看下清理浮动的方法:

代码:

<style type="text/css">
.clear {
  clear: both;
  }
</style>
</head>
<body>
<p></p>
<div class="news" width="50px">
<img src="XiaoKeAi.jpg" />
<p>这是文本</p>
<p>这是文本</p>
<p>这是文本</p>
<div class="clear"></div>
</div>
</body>


代码:

<body>
<p></p>
<div class="news" width="50px">
<img src="XiaoKeAi.jpg" />
<p>这是文本</p>
<p>这是文本</p>
<p>这是文本</p>
<br clear="all" /> 
</div>
</
body>

③父元素设置 overflow:hidden

 通过设置父元素overflow值设置为hidden;在IE6中还需要触发 hasLayout ,例如 zoom:1(试了下,这里可以不需要的);

HTML5移动开发学习笔记之CSS3基础学习

相关文章:

你感兴趣的文章:

标签云: