云切图

CSS

CSS属性复习,帮你快速掌握CSS,助推学生快速完成网页作业

首页 > 前端笔记 > CSS

html5中css3盒模模型,了解网页外观配置以及文档的整体布局

作者:admin 发布时间:2022-09-17 点击数:

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

一.元素可见性

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

属性说明版本
visibilityvisible默认值,元素在页面上可见。1
hidden元素不可见,但会占据空间。1
collapse元素不可见,隐藏表格的行与列,如果不是表格,则和 hidden 一样。2

设置元素隐藏,但占位

div {visibility: hidden;}

隐藏表格的行或列,但不占位低版本浏览器 不支持

table tr:first-child {

    visibility: collapse;

};

二.元素盒类型

CSS 盒模型中的 display 属性,可以更改元素本身盒类型。那么元素有哪些盒类型呢?主要有:1.块级元素(区块);2 行内元素(内联);3 行内-块级元素(内联块);4.隐藏元素。

1.块级元素

所谓块级元素,就是能够设置元素尺寸、隔离其他元素功能的元素。比如:<div>、<p>等文档元素。

2.行内元素

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

3.行内-块元素

所谓行内-块元素,可以设置元素尺寸,但无法隔离其他元素的元素。比如<img>。

属性说明版本
displayblock盒子为块级元素1
inline盒子为行内元素1
inlinee-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 属性建立盒子的浮动方向,样式表如下:

属性说明版本
floatleft浮动元素靠左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 属性来处理。

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

两边均不可浮动

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

源码实例

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS 盒模型[下]</title>
<meta name="author" content="学生网页作业">
<link rel="stylesheet" href="css/base.css">
</head>
<body>
<!-- 元素可见性 -->
<dl>
    <dt>元素可见性</dt>
    <style>
        .dd_01 .p1{ visibility: hidden; }
        .dd_01 table tr:first-child{visibility: collapse;}
    </style>
    <dd>
        <p>设置元素隐藏,但占位</p>
        <p>隐藏表格的行或列,但不占位</p>
        <table>
            <tr><td>HTML</td><td>1</td></tr>
            <tr><td>CSS</td><td>2</td></tr>
            <tr><td>javaScript</td><td>3</td></tr>
            <tr><td>jQuery</td><td>4</td></tr>
        </table>
    </dd>
</dl>

<!-- 元素区块 -->
<dl>
    <dt>display元素</dt>
    <style>
        .dd_02{ color: #fff; }
        .dd_02 span{display: block; width: 100px; height: 100px; background: green;}
        .dd_02 p{ display: inline; width: 100px; height: 100px; background: green; }
        .dd_02 div{ display: inline-block; width: 100px; height: 100px; background: green; }
        .dd_02 h6{ display: none; }
    </style>
    <dd>
        <span>将行内元素转成块级元素</span>
        <p>将块级元素转换成行内元素(宽高失效)</p>
        <div>将块级元素转化成行内-块元素</div>
        <h6>将元素隐藏且不占位</h6>
    </dd>
</dl>

<!-- 元素浮动 -->
<dl>
    <dt>float</dt>
    <style>
        .dd_03{ overflow: hidden; }
        .dd_03 a{
            width:100px; height: 100px; line-height: 100px; color: #fff;
            display: block; background: green;  text-align: center
        }
        .dd_03 a:nth-child(1){ float: left;}
        .dd_03 a:nth-child(2){ float: right; }
        .dd_03 a:nth-child(3){ clear: both; }
    </style>
    <dd>
        <a href="###">left</a>
        <a href="###">right</a>
        <a href="###">clear</a>
    </dd>
</dl>
</body>
</html>

关注我们共同进步

  • 扣扣交流群

  • 微信公众号

  • 私技术顾问

嘿,我来帮您!