zoukankan      html  css  js  c++  java
  • 第 16 章 CSS 盒模型[下]

    学习要点:

    1.元素可见性

    2.元素盒类型

    3.元素的浮动

    主讲教师:李炎恢

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

    一.元素可见性

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

    属性

    说明

    CSS 版本

    visible

    默认值,元素在页面上可见。

    2

    visibility

    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 版本

    block

    盒子为块级元素

    1

    display

    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 版本

    left

    浮动元素靠左

    1

    float

    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 版本

    clear

    none

    允许两边均可浮动

    1

    left

    左边界不得浮动

    1

    right

    右边界不得浮动

    1

    both

    两边都不得浮动

    1

    //两边均不可浮动

    #c {
        background: navy;
        clear: both;
    }
  • 相关阅读:
    python标准库
    python常用标准库
    django-restframework-serializers
    Resources.UnloadUnusedAssets
    Shader 的 Blend
    C++STL queue
    C++STL stack
    C++STL deque
    C++STL容器重点
    C++STL 迭代器
  • 原文地址:https://www.cnblogs.com/zfc2201/p/5448269.html
Copyright © 2011-2022 走看看