第16章 CSS盒模型[下]

2017年8月31日07:00:00 发表评论

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

一.元素可见性

使用 visibility 属性可以实现元素的可见性,这种样式一般可以配合 JavaScript 来实现效果。样式表如下:

属性 说明 CSS 版本
 

visibility

visible 默认值,元素在页面上可见 2
hidden 元素不可见,但会占据空间 2
collapse 元素不可见,隐藏表格的行与列,如果不是表格, 则和 hidden 一样 2

//设置元素隐藏,但占位

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>。

属性 说明 CSS 版本
 

 

display

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 属性建立盒子的浮动方向,样式表如下:

属性 说明 CSS 版本
 

float

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 属性来处理。

属性 说明 CSS 版本
 

float

none 允许两边均可浮动 1
left 左边界不得浮动 1
right 右边界不得浮动 1
both 两边都不得浮动 1

//两边均不可浮动

#c {
    background: navy;
    clear: both;
}

注:本次教程共63节课(由大庆seo工程师整理发布),循序渐进地教您响应式网站的制作。1-13课时为html5内容,14-40课时为css3内容,41-51课时为pc端固定布局网站制作实例,52-57课时为移动端流体布局网站制作实例,58-63课时为响应式网站制作实例。最贴心的是每节课示例代码提供免费下载。小白从第一节课开始学起,将走向前端开发,特别是目前最为流行的响应式网站高手之路......

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: