border,padding,margin盒模型理解

  安静的敲着键盘,已势不可挡的姿势逼近php,我想我是一个幸福的人,未来不可期,做好现在,偶尔写着自己能看懂的API,慢慢悠悠的回味一下前端基础知识。

本文盒模型理解。

  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>border,padding,margin盒模型理解</title>
    <style>
        div{
            /*width: 50px;
            height: 50px;*/
            /*background-color: red;*/
            /*正常的情况下,我们给一个元素指定宽度和高度的时候,我们只是设置了内容区域的宽度和高度,像这个50*50的盒子*/
            /*border: 25px solid black;
            padding: 25px;
            margin: 25px;*/
            /*如果加上边框和内外边距,这个div的总宽度就会变成
            50+50(左右边框)+50(内边距)+50(外边距)*/

            /*当你在根据psd文件写效果的时候,用ps量尺寸的情况下,你就要细心量
            取内容区域了,要100%逼近效果图*/

            
            /*box-sizing: border-box;*/
            /*width: 300px;
            height: 300px;*/
            /*当然默认情况下一个盒子的box-sizing:content-box;,就是上述情况下盒子的总宽度是由宽度加上边框和内外边距。
            还有一种情况就是怪异盒模型,在css中加上box-sizing:border-box;
            这一种情况就是把盒子的大小固定,给到的width和height就是
            包含边框和内边距(无外边距),总宽度就要加上外面局*/

            /*此时这个盒子的width是50(左右边距)+50(内边距)+200(内容区域),总宽度需要加上外边距的100.*/

            /*我们可以总结默认情况下,width就是内容的宽度
            怪异合模型下,width包含border和padding加上内容宽度.*/



            /*给定一个div,让我们来对其边框可以有以下操作:*/
            /*border-style:none;*/
            /*默认情况下,边框样式是无边框
            solid表示实线;
            dashed虚边框;
            dotted点线边框,ie6下存在兼容性问题;*/


            /*border-width: 10px;*/
            /*这是边框宽度*/

            /*border-color: red;*/
            /*这是给定边框颜色*/

            /*对于单独设置一边或多边便不过多解释*/

            /*border:5px solid red;*/
            /*通常情况下我们简写边框样式*/


            /*padding-top: 10px;
            padding-right: 20px;
            padding-bottom: 30px;
            padding-left: 40px;*/
            /*这是对内边距的各个方向的设定(不多解释),直接用padding
            来书写会有一下几种格式*/
            /*padding: 10px;
            padding: 5px 10px;
            padding: 5px 10px 15px;
            padding: 5px 10px 15px 20px;*/


            /*margin同padding(写法一致)*/
            /*1,对于兄弟关系的相对margin值,会相对叠加,比如水平
            排列的两个div,a的margin-right为50px
            和b的margin-left为100px;a和b的间距就是100px(取大值)。*/

            /*2,对于父级来说,第一个子级的margin-top,会影响父级的布局,
            可以给父级加边框或者用padding-top代替;不建议用overflow:hidden;
            提示:对于第一个子级来说,避免用margin-top.*/

        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

 

posted @ 2018-01-22 20:42  搬砖小工Marvin  阅读(312)  评论(0编辑  收藏  举报