码迷,mamicode.com
首页 > Web开发 > 详细

第16章 CSS盒模型下

时间:2016-09-08 23:11:44      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

第 16章 CSS盒模型[下]
学习要点:
1.元素可见性
2.元素盒类型
3.元素的浮动

本章主要探讨 HTML5中 CSS盒模型,学习怎样了解元素的外观配置以及文档的整体
布局。

一.元素可见性
使用visibility属性可以实现元素的可见性,这种样式一般可以配合 JavaScript来实现效果。
样式表如下:
属性 visibility
值 说明 CSS版本
visible 默认值,元素在页面上可见 2
hidden 元素不可见,但会占据空间。 2
collapse 元素不可见,隐藏表格的行与列. 2

如果不是表格,则和 hidden一样。
//设置元素隐藏,但占位
div {
visibility: hidden;
}
//隐藏表格的行或列,但不占位,Chrome和 Opera不支持
table tr:first-child {
visibility: collapse;
};
二.元素盒类型
CSS盒模型中的 display属性,可以更改元素本身盒类型。那么元素有哪些盒类型呢?
主要有:1.块级元素(区块);2行内元素(内联);3行内-块级元素(内联块);4.隐
藏元素。
1.块级元素
所谓块级元素,就是能够设置元素尺寸、隔离其他元素功能的元素。比如:<div>、<p>
等文档元素。

2.行内元素
所谓行内元素,不能够设置元素尺寸,它只能自适应内容、无法隔离其他元素,其它元
素会紧跟其后。比如:<span>、<b>等文本元素。
3.行内-块元素
所谓行内-块元素,可以设置元素尺寸,但无法隔离其他元素的元素。比如<img>。


元素转换 用display
属性 display
值 说明 CSS版本
block 盒子为块级元素 1
inline 盒子为行内元素 1
inline-block 盒子为行内-块元素 2
none 盒子不可见,不占位 1


//将行内元素转成块级元素
span {
background: silver;
width: 200px;
height: 200px;
display: block;
}
//将块级元素转换成行内元素
div {
background: silver;
width: 200px;
height: 200px;
display: inline;
}
//将块级元素转化成行内-块元素
div {
background: silver;
width: 200px;
height: 200px;
display: inline-block;
}
//将元素隐藏且不占位
div {
display: none;
}

display属性还有非常多的值,有些后面部分讲解,而有些支持度不好或者尚不支持,
从而省略。有兴趣的,可以参考 CSS3手册。

三.元素的浮动
CSS盒模型有一种叫浮动盒,就是通过 float属性建立盒子的浮动方向,样式表如下

属性float
值 说明 CSS版本
left 浮动元素靠左 1
right 浮动元素靠右 1
none 禁用浮动 1


//实现联排效果
#a {
background: gray;
float: left;
}
#b {
background: maroon;
float: left;
}
#c {
background: navy;
float: left;
}
//实现元素右浮动
#c {
background: navy;
float: right;
}
//取消元素的浮动
#c {
background: navy;
float: none;
}
刚才的浮动有一个问题:当一个元素盒子被浮动后,下面的元素会自动堆叠处理,导致
元素不可见或部分不可见。我们可以使用 clear属性来处理。


属性clear
值 说明 CSS版本
none 允许两边均可浮动 1
left 左边界不得浮动 1
right 右边界不得浮动 1
both 两边都不得浮动 1


//两边均不可浮动
#c {
background: navy;
clear: both;
}


例子
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>CSS盒模型[下]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<!-- <div>我是HTML5</div>

sdfsdfsdf

<table border="1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table> -->


<!-- <div>我是块级元素</div> -->

<!-- <span>我是行内元素</span> -->

<!-- <img src="img.png"> -->

<!-- <div>我是块级元素,将要转成行内元素</div> -->

<!-- <span>我是行内元素,将要转成块级元素</span> -->

<!-- <div>我是块级元素,将要转成行内块元素</div>

<span>我是行内元素,将要转成行内块元素</span>

sdfsd -->


<div id="a">我是a</div>

<div id="b">我是b</div>

<!-- <div id="c">我是c</div>

<div id="d">sdfsdfsdf</div> -->

</body>
</html>

@charset "utf-8";

/*
div {
background: silver;
width: 200px;
height: 200px;
/*visibility: visible;
visibility: hidden;
visibility: collapse;
}

table tr:first-child {
visibility: hidden;
visibility: collapse;
}
*/

/*div {
background: silver;
width: 200px;
height: 200px;
}*/

/*span {
background: silver;
width: 200px;
height: 200px;
}*/

/*img {
width: 100px;
height: 50px;
}*/

/*div {
background: silver;
width: 200px;
height: 200px;
display: inline;
}*/

/*span {
background: silver;
width: 200px;
height: 200px;
display: block;
}*/

/*div,span {
background: silver;
width: 200px;
height: 200px;
display: inline-block;
}

span {
display: none;
}*/

div {
width: 200px;
height: 200px;
}

/*#a {
background: maroon;
float: left;
}
#b {
background: green;
float: left;
}
#c {
background: blue;
float: left;
}
#d {
height: 300px;
background: orange;
float: left;
}*/

/*#a {
background: maroon;
float: right;
}
#b {
background: green;
float: left;
}*/

#a {
background: maroon;
float: left;
}
#b {
background: green;
float: none;
clear: both;
}

 

第16章 CSS盒模型下

标签:

原文地址:http://www.cnblogs.com/HJL085/p/5854563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!