css学习笔记(二)——盒子模型

vey6WF.png

x月x日零基础自学CSS笔记第x篇。

1. 盒子概述

将HTML元素看作是盒子,来实现的网页布局

边框:盒子的厚度

外边距:不同盒子的边框与边框的距离

内边距:盒子的内容距离边框距离

内容: 盒子的内部

2. 有关盒子模型的 css 属性

内容:(width,height)

边框:border(-width\-style\-color);

外边距:margin(-top\-right\-bottom\-left)

内边距:padding(-top\-right\-bottom\-left)

2.1 边框 border

border-style的值描述
none定义无边框。
dotted定义点状边框。
dashed定义虚线。
solid定义实线。
double定义双线。
<style>
    .box{
        width: 100px;
        height: 100px;
        /* border-width: 10px;
        border-style: solid;
        border-color: red; */
        border:10px solid red;
    }
</style>

2.2 外边距 margin & 内边距 padding

border 很类似,不做展开

这里需要指出,margin 和 padding 是可以简写的

margin: 12px 12px 20px 20px;

如果有四个值,则默认为顺时针对于上右下左

如果只有两个值默认分别代指上下和左右

如果只有一个值默认代指上下左右

3 容器的长宽限制

设置内边距会发现边框的长度发生了变化,因此这里给出元素的长宽计算公式

默认情况:元素的宽度和高度计算

元素的实际宽度 = border-left(左边框厚度) + border-right(右边框厚度) + width(内容宽度) + padding-left(左内边距长度) + padding-right(右内边距长度)

元素的实际高度 = border-top + border-bottom + width + padding-top + padding-bottom

设置 box-sizing:border-box;

元素的实际宽度 = width

元素的实际高度 = height

这里要注意,设置的 widthheight 如果被 padding内容 的加和给超越了,容器不会被撑大,但内容会跑到容器外。要避免设置长度过大。

4 初始化

当设置 css 样式的过程中,如果 margin 属性为 0px 时,会发现边框还是会存在一定外边距,这是 html 标签默认的外边距。但是实际开发过程中我们希望严格按照我们设定的样式走,因此我们需要进行元素边距的初始化。

/* 元素边距初始化 */
*{
	margin:0px;
	padding:0px;
}

*代表通配,即所有元素。

5 容器元素居中

左右元素宽度设置为 auto

.container{
	width:800px;
    height:300px;
    bordere:1px solid red;
    margin:0 auto;
}

如果不用auto,而是设置为一个固定值。

那么在浏览器的页面大小因拖拽产生变化时,页面的容器是不会跟着变化的。

6 列表的样式

取消列表样式:list-style:none;

列表样式在边距之内:list-style:inside;

7 示例

该示例的重要知识点有:

  • 边距的初始化
  • 容器居中
  • 限制容器长与宽+内容越界
  • 列表的样式:设置表格在边距内
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .fruits{
            width: 800px;
            /* 这里没有设置height,因此容器会被padding-top撑大
            这是因为height默认取padding-top+内容高度 
            如果设置height后,容器大小不变,内容会超出容器*/
            border: 1px solid red;
            margin: 0px auto;
            padding-top: 20px;
            padding-left: 30px;
            /* 限制容器的长与宽 */
            box-sizing:border-box;
        }
        .sports{
            width: 800px;
            border: 1px solid blue;
            margin: 0px auto;
            /* 这里的margin重定义的先后顺序会影响结果 */
            margin-top: 50px;
        }
        /* 将表格置于容器内部 */
        .fruits,.sports{
            list-style: inside;
        }
    </style>
</head>
<body>
    <div class="fruits">
        <h3>水果列表</h3>
        <ul>
            <li>菠萝</li>
            <li>香蕉</li>
            <li>苹果</li>
        </ul>
    </div>
    <div class="sports">
        <h3>运动列表</h3>
        <ul>
            <li>足球</li>
            <li>篮球</li>
            <li>羽毛球</li>
        </ul>
    </div>
</body>
</html>

veDPqP.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

introversi0n

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值