首页 > 其他分享 >盒子模型

盒子模型

时间:2022-10-09 23:01:15浏览次数:33  
标签:box 盒子 border 模型 100px 1px 0px margin

概述

把html元素看作盒子来实现网页布局


一个矩形就是一个盒子,盒子四边叫做边框,内容到边框的距离叫内边距,边框间的距离或者边框与网页边界的距离叫外边距

border

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            /*border-color: white;*/
            border: 1px solid red;/*border的简写法*/
        }
    </style>
</head>
<body>
<div class="box">

</div>
</body>
</html>

margin

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            /*border-color: white;*/
            border: 1px solid red;/*border的简写法*/
            /*margin-left:100px;!*左边距100px*!*/
            /*margin: 100px 0px 0px 100px;!*简写顺序:上右下左,上下&左右各写一个就够了*!*/
            margin: 100px 50px;/*两个值的简写法:上 左*/
        }
    </style>
</head>
<body>
<div class="box">

</div>
</body>
</html>

padding

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: 100px 50px; 
        }
    </style>
</head>
<body>
<div class="box">
<label>hello</label>
</div>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: 100px 50px;
            padding: 10px 20px;/*上 左*/
        }
    </style>
</head>
<body>
<div class="box">
<label>hello</label>
</div>
</body>
</html>


发现边框会被撑大,如果要固定边框大小,可以用box-sizing固定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: 100px 50px;
            padding: 10px 20px;
            box-sizing: border-box;
        }
    </style>
</head>
<body>
<div class="box">
<label>hello</label>
</div>
</body>
</html>

元素边距初始化

.box{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: 0px;
            padding: 10px 20px;
            box-sizing: border-box;
        }


发现即使外边距设成0还是有一些空间,没有贴边。因为浏览器的网页有默认数值的外边距,要想紧贴页面边界可以初始化边距

    *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: 0px;
            padding: 10px 20px;
            box-sizing: border-box;
        }


建议以后开发先进行边距初始化再设置边距

元素水平居中

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .box{
            width: 800px;
            height: 300px;
            border: 1px solid red;
            margin: 0 auto;/*水平居中*/
        }
    </style>
</head>
<body>
<div class="box">

</div>
</body>
</html>

列表的样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .fruits{
            border: 1px solid red;
            width: 800px;
            margin: 0 auto;
        }

        .sports{
            border: 1px solid blue;
            width: 800px;
            margin: 0 auto;
            margin-top: 50px;
        }
    </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>


黑色的点跑外面去了
用list-style:inside

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        *{
            margin: 0px;
            padding: 0px;
        }
        .fruits{
            border: 1px solid red;
            width: 800px;
            margin: 0 auto;
        }

        .sports{
            border: 1px solid blue;
            width: 800px;
            margin: 0 auto;
            margin-top: 50px;
        }
        .fruits ul,.sports ul{
            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>

  • 稍微改进下内边距
*{
            margin: 0px;
            padding: 0px;
        }
        .fruits{
            border: 1px solid red;
            width: 800px;
            margin: 0 auto;
            padding-left: 30px;
            padding-top: 20px;
            box-sizing: border-box;
        }

        .sports{
            border: 1px solid blue;
            width: 800px;
            margin: 0 auto;
            margin-top: 50px;
            padding-top: 20px;
            padding-left: 30px;
            box-sizing: border-box;
        }
        .fruits ul,.sports ul{
            list-style: inside;
        }

标签:box,盒子,border,模型,100px,1px,0px,margin
From: https://www.cnblogs.com/ben10044/p/16774027.html

相关文章

  • 网络互连模型之物理层和数据链路层
    OSI参考模型是ISO公司提出的理论知识,并不具备实际应用。在真实使用中真正得到认可的是TCP/IP协议,学习的时候会把【网络接口层】还原成【数据链路层】和【物理层】,因......
  • 【747】多分类模型metrics计算
    参考:EvaluationMetricsForMulti-classClassification(Micro-,Macro-计算)参考:多分类模型Accuracy,Precision,Recall和F1-score的超级无敌深入探讨参考:二分类和多分......
  • C# Datatable换为模型
    1///<summary>2///Datatable转为模型3///</summary>4///<typeparamname="T"></typeparam>5///<paramname="dt"></param>6///<returns></returns......
  • 弄清 QObject —— 元对象模型的核心类
    概述QObject类不仅是所有Qt对象的基类,还是“Qt中的对象模型(ObjectModel)”的核心类。我们知道元对象模型最重要的功能就是“信号-槽”机制,该机制使Qt对象之间可以进......
  • kaldi训练模型的过程
    整理一下训练新模型的过程:1.进入到kaldi-trunk/egs目录下创建XX(看你心情随便命名)文件夹,然后在文件夹里创建一个audio文件夹,在audio文件夹内在创建两个文件夹train和test......
  • 中文语义相似度匹配模型
       zhaogaofeng611/TextMatch:基于Pytorch的,中文语义相似度匹配模型(ABCNN、Albert、Bert、BIMPM、DecomposableAttention、DistilBert、ESIM、RE2、Roberta、SiaGRU......
  • NET中数据模型Model和数据传输对象DTO的区别
    数据模型Model主要处理业务逻辑,不可以用于数据传递使用数据模型的缺点:直接向前端返回数据模型,会暴露系统的业务核心。而使用dto的时候可以屏蔽我们不希望暴露的核心业......
  • 插件化编程之WebAPI统一返回模型
    WebApi返回数据我们一般包裹在一个公共的模型下面的,而不是直接返回最终数据,在返回参数中,显示出当前请求的时间戳,是否请求成功,如果错误那么错误的消息是什么,状态码(根据业务......
  • C# EF 模型转DataTable
    1///<summary>2///EF模型转换为Datatable3///</summary>4///<typeparamname="T"></typeparam>5///<paramname="list"></param>6///<returns></r......
  • 国内外AI绘画『文生图』大模型效果对比
     最近AI作画确实很火,在DALL-E和Imagen崭露头角之后,ERNIE-ViLG、Stable-Diffusion(SD)、Disco-Diffusion相继开源开放,涌现出丰富多彩的AI作画作品。本次通过一个开源工具来整......