• 技术文章 >web前端 >css教程

    css盒子模型说明以及实例

    无忌哥哥无忌哥哥2018-06-28 17:23:44原创1909
    一、什么是盒子:

    1.盒子模型也叫框模型,页面上的一切元素,都可以看作是盒子

    2.盒子是元素的容器,也是元素的载体,说人话就是,盒子是元素的家

    二、盒子的种类与功能:

    1.元素有二种:块级元素和行内元素,所以他们对应的家:盒子,当然也有二种:块级盒子,行内盒子

    2.块级盒子通常当作其它元素的容器,行内盒子中总是放内容,通常行内盒子放在块级盒子中

    三、盒子的排列方式:

    1.盒子是页面上的排列顺序,由总调度师:文档流说了算,除非盒子离家出走,脱离了文档流

    2.文档流既是元素排列的方式,又是排列的动作,所以既是名词也是动词

    四、盒子模型的组成部分:

    1.因为盒子大多做元素容器使用,所以我们主要以块级盒子为例进行介绍

    2.盒子的四大组成部分:content(内容),padding(内边距),border(边框),margin(外边距)

    五、我们用四大美女来快速记忆盒子模型:

    1.content内容: 我们自己的老婆或者女朋友,这是看得见,摸得着的东西

    2.padding内边距:它是透明的,就像你老婆的闺蜜,时刻影响着你和老婆的关系

    3.border边框:它是可见的,它变化多端,风情万种,最撩人最风骚,就像你的红颜知己,梦中情人或小情人

    4.margin外边距:和padding内边距一样也是透明的,就像老大的女人,哥们的老婆,永远活在你的想像中

    六、content内容:

    1.支持宽度width和高度height设置

    2.内部可以是块元素,也可以是行内元素

    3.支持背景设置

    七、padding内边距:

    1.支持四个方向设置大小,按顺时针排列:上、右、下、左

    2.也可以单独设置

    padding-top: 上边距

    padding-right: 右边距

    padding-bottom: 下边距

    padding-left: 左边距

    3.支持简写:

    padding: 10px 5px 10px 5px; 上10px,右5px,下10px,下5px

    padding: 10px 20px 30px; 上10px,左右20px,下30px

    padding: 10px 20px; 上下10px, 左右20px

    padding: 10px; 上,右,下,左全部为10px

    八、margin外边距:

    1.支持四个方向设置大小,按顺时针排列:上、右、下、左

    2.也可以单独设置

    margin-top: 上边距

    margin-right: 右边距

    margin-bottom: 下边距

    margin-left: 左边距

    3.支持简写:

    margin: 10px 5px 10px 5px; 上10px,右5px,下10px,下5px

    margin: 10px 20px 30px; 上10px,左右20px,下30px

    margin: 10px 20px; 上下10px, 左右20px

    margin: 10px; 上,右,下,左全部为10px

    九、border边框:

    1.内外边距是透明不可见的,所以只有宽度可以设置

    2.边框是可见的,所以他有三个子属性可以设置: 宽度,样式,颜色

    3.设置顺序: 上、右、下、左

    设置上边框:

    border-top-width: 5px; //设置宽度

    border-top-style: solid; //设置样式

    border-top-color: #f60; //设置前景色/颜色

    border-top: 5px solid #f60; //简写

    设置右边框:

    border-right-width: 10px;

    border-right-style: dashed;

    border-right-color: #888;

    border-right: 10px dashed #888;

    设置下边框:

    border-bottom-width: 10px;

    border-bottom-style: solid;

    border-bottom-color: #555;

    border-bottom: 10px solid #555;

    设置左边框:

    border-left-width: 8px;

    border-left-style: dotted;

    border-left-color: #333;

    border-left: 8px dotted #333;

    所有边框使用统一设置:

    border-width: 10px; //四条边框统一设置宽度

    border-style: solid; //四条边框统一设置样式

    border-color: gray; //四条边框统一设置颜色

    border: 10px solid gray; //四条边框统一设置的简写

    十、圆角盒子的设置技巧:

    1:设置圆角:之前都是通过图片方式来实现,现在通过代码就可以

    2:边框有四个顶点,可以针对每个顶点进行设置

    2.1:左上角 border-top-left-radius:20px;

    2.2:右上角 border-top-right-radius:20px;

    2.1:右下角 border-bottom-right-radius:20px;

    2.1:左下角 border-bottom-left-radius:20px;

    注意:老外与我们思维不一样,属性中是把上top下bottom写在左右之前

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>1.盒子模型</title>
        <style>
            .box1 {
                /*在父级盒子.box已经设置过了*/
                /*width: 200px;*/
                /*height:200px;*/
                /*background-color: #f89;*/
                border: 2px solid #363636;
                /*通过计算,设置内边距40px,可实现图片居中*/
                padding:40px;
                /*结果并未实现居中,这是为什么呢?因为内边距会撑开盒子,这与我们生活中的盒子是不一样的*/
                /*解决方法有二个:1.修改盒子大小,宽高减去padding值,2.为该盒子套一个父级盒子,单独设置宽高*/
                /*第一种方案:修改当前盒子大小*/
                /*width: 120px;*/
                /*思考:为什么要减去80px?因为边距是成对的,40px的2倍就是80px*/
                /*height:120px;*/
            }
            /*.box是.box1的父级盒子,在这里设置了宽高,子盒子就不必设置了*/
            /*我这里忽略了边框宽度的影响*/
            .box {
                width: 200px;
                height:200px;
            }
            .box2{
                width: 200px;
                height:200px;
                background-color: lightskyblue;
                borer: 2px solid #333;
                margin-bottom: 20px;
            }
            .box3{
                width: 200px;
                height:200px;
                background-color: lightgreen;
                borer: 2px solid #333;
                /*margin-top: 20px;*/
                /*上下外边距的二个特征:*/
                /*1.如果上下外边距相等,并不会相加,而是相互叠加在了一起;*/
                /*2.如果上下外边距不相待,则会产生塌陷,最终数值大的外边距胜出,以它为准*/
                margin-top: 30px;
                /*注意:左右外边距不会产生叠加和塌陷,仍是各自相加为最终结果*/
            }
            /*边框设置*/
            .box4 {
                width: 200px;
                height:200px;
                background-color: lightskyblue;
                /*设置上边框:*/
                /*设置宽度*/
                /*border-top-width: 5px;*/
                /*设置样式*/
                /*border-top-style: solid;*/
                /*设置前景色/颜色*/
                /*border-top-color: #f60;*/
                /*简写*/
                /*border-top: 5px solid #f60;*/
                /*设置右边框:*/
                /*border-right-width: 10px;*/
                /*border-right-style: dashed;*/
                /*border-right-color: #888;*/
                /*border-right: 10px dashed #888;*/
                /*设置下边框:*/
                /*border-bottom-width: 10px;*/
                /*border-bottom-style: solid;*/
                /*border-bottom-color: #555;*/
                /*border-bottom: 10px solid #555;*/
                /*设置左边框:*/
                /*border-left-width: 8px;*/
                /*border-left-style: dotted;*/
                /*border-left-color: #333;*/
                /*border-left: 8px dotted #333;*/
                /*所有边框使用统一设置:*/
                /*统一设置宽度*/
                /*border-width: 10px;*/
                /*统一设置样式*/
                /*border-style: solid;*/
                /*统一设置颜色*/
                /*border-color: gray;*/
                /*统一设置的简写*/
                /*border: 10px solid gray;*/
            }
            /*圆角盒子设置技巧*/
            .box5 {
                width: 200px;
                height:200px;
                background-color: #f89;
                border-top-left-radius: 20px;
                border-top-right-radius: 40px;
                border-bottom-right-radius: 60px;
                border-bottom-left-radius: 80px;
                /*如果每个角的圆度是一样的,可以简化*/
                border-radius: 20px;
                /*如果原盒子是一个正方形的话,只需要把角度设置为宽度的一半即可得到一个正圆*/
                border-radius: 100px;
                /*为了适应外部盒子变化,建议设置为百分比,例如:50%,效果完全一样*/
                /*border-radius: 50%;*/
            }
            /*创建有阴影盒子的技巧*/
            .box6 {
                width: 200px;
                height:200px;
                background-color: lightskyblue;
                /*设置圆角*/
                border-radius:50%;
                /*设置内边距并重新调整盒子大小*/
                padding: 10px;
                width: 180px;
                height: 180px;
                /*设置盒子的阴影*/
                /*box-shadow:  X轴位移 Y轴位移 阴影大小 阴影扩展 阴影颜色 ;*/
                /*外发光:模糊8px,阴影到边框为3px*/
                box-shadow:0 0 8px 3px #888;
                /*内发光:模糊8px,阴影到边框为3px*/
                box-shadow:0 0 8px 3px #888 inset;
                /*向右下投影*/
                box-shadow:8px 8px 8px 3px #888;
                /*向左上投影*/
                box-shadow:-8px -8px 8px 3px #888 ;
            }
        </style>
    </head>
    <body>

    以上就是css盒子模型说明以及实例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    上一篇:css上下文选择器 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 【整理总结】这些高级CSS技巧,你会几种?• 详解css中的比较函数(示例介绍)• 带你使用CSS+jQuery实现一个文字转语音机器人• 另辟蹊径!看看使用CSS滤镜怎么构建圆角和波浪效果• CSS flex布局属性:align-items和align-content的区别
    1/1

    PHP中文网