WEB学习-CSS盒模型

  • 盒子的区域
  • 一个盒子中主要的属性就5个:width、height、padding、border、margin。
    width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度。
    height是“高度”的意思,CSS中height指的是内容的高度,而不是盒子的高度
    padding是“内边距”的意思
    border是“边框”
    margin是“外边距”

  • 认识width、height
  • 下面这两个盒子,真实占有宽高,完全相同,都是302*302:
            .box1{
                width: 100px;
                height: 100px;
                padding: 100px;
                border: 1px solid red;
            }
    
            .box2{
                width: 250px;
                height: 250px;
                padding: 25px;
                border:1px solid red;
            }
    真实占有宽度=  左border  +  左padding  +  width  +  右padding  +  右border
    如果想保持一个盒子的真是占有宽度不变,那么加width就要减padding。加padding就要减width。
    
  • 认识padding
  • padding就是内边距。padding的区域有背景颜色,css2.1前提下,并且背景颜色一定和内容区域的相同。
    也就是说,background-color将填充所有boder以内的区域。
    
    padding是4个方向的,所以我们能够分别描述4个方向的padding。
    方法有两种,第一种写小属性;第二种写综合属性,用空格隔开。
    小属性:
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 40px;
    padding-left: 100px;
    top上、right右、bottom下、left左。
    这种属性,就是复合属性。比如不写padding-left那么就是没有左内边距。
    快捷键就是pdt、pdr、pdb、pdl 然后按tab。
    
    综合属性:
    如果写了4个值:
    padding:30px 20px 40px 100px;
    
    上、右、下、左
    
    如果只写3个值:
    padding: 20px 30px 40px;
    上、右、下、??和右一样
    
    如果只写2个值:
    padding: 30px 40px;
    等价于:
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 40px;
    padding-right: 40px;
    
    用小属性层叠大属性:
    padding: 20px;
    padding-left: 30px;
    padding-left 会重写padding中的left数据
    
    我们为了做站的时候,便于控制,总是喜欢清除这个默认的padding:
            *{
                margin: 0;
                padding: 0;
            }
    *的效率不高,所以我们使用并集选择器,罗列所有的标签(不用背,有专业的清除默认样式的样式表,今后学习):
    body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
        margin:0;
        padding:0
    }
  • border
  • 就是边框。边框有三个要素:粗细、线型、颜色。
    颜色如果不写,默认是黑色。另外两个属性不写,要命了,显示不出来边框。
    
    border: 1px dashed red;

    所有的线形:  

border是一个大综合属性,
border:1px solid red;
就是把4个边框,都设置为1px宽度、线型实线、red颜色。
border属性能够被拆开,有两大种拆开的方式:
1) 按3要素:border-width、border-style、border-color
2) 按方向:border-top、border-right、border-bottom、border-left

按3要素拆开:
border-width:10px;    → 边框宽度
border-style:solid;     → 线型
border-color:red;      → 颜色。
等价于:
border:10px solid red;
现在心里要明白,原来一个border是由三个小属性综合而成:
border-width  border-style   border-color。

如果某一个小要素后面是空格隔开的多个值,那么就是上右下左的顺序:
border-width:10px 20px;
border-style:solid dashed dotted;
border-color:red green blue yellow;
按方向来拆
border-top:10px solid red;
border-right:10px solid red;
border-bottom:10px solid red;
border-left:10px solid red;
等价于
border:10px solid red;

按方向还能再拆一层,就是把每个方向的,每个要素拆开,一共12条语句:
border-top-width:10px;
border-top-style:solid;
border-top-color:red;
border-right-width:10px;
border-right-style:solid;
border-right-color:red;
border-bottom-width:10px;
border-bottom-style:solid;
border-bottom-color:red;
border-left-width:10px;
border-left-style:solid;
border-left-color:red;
等价于
border:10px solid red;
  • 标准文档流
  • 宏观的讲,我们的web页面和photoshop等设计软件有本质的区别:web页面的制作,是个“流”,必须从上而下。
    
    我们要看看标准流有哪些微观现象:
    1) 空白折叠现象:
    比如,如果我们想让img标签之间没有空隙,必须紧密连接:
    <img src="images/0.jpg" /><img src="images/1.jpg" /><img src="images/2.jpg" />
    
    2) 高矮不齐,底边对齐。
    
    3) 自动换行,一行写不满,换行写。
  • 块级元素和行内元素
  • 标准文档流等级森严。标签分为两种等级:
    1) 块级元素
    ● 霸占一行,不能与其他任何元素并列
    ● 能接受宽、高
    ● 如果不设置宽度,那么宽度将默认变为父亲的100%。
    2) 行内元素
    ● 与其他行内元素并排
    ● 不能设置宽、高。默认的宽度,就是文字的宽度。
    
    在HTML中,我们已经将标签分过类,当时分为了:文本级、容器级。
    文本级:p、span、a、b、i、u、em
    容器级:div、h系列、li、dt、dd
    
    CSS的分类和上面的很像,就p不一样:
    所有的文本级标签,都是行内元素,除了p,p是个文本级,但是是个块级元素。
    所有的容器级标签都是块级元素。
  • 块级元素和行内元素的相互转换
  • 块级元素可以设置为行内元素
    行内元素可以设置为块级元素
    
            div{
                display: inline;
                background-color: pink;
                width: 500px;
                height: 500px;
            }
    display是“显示模式”的意思,用来改变元素的行内、块级性质
    inline就是“行内”。
    一旦,给一个标签设置
    display: inline;
    那么,这个标签将立即变为行内元素。此时它和一个span无异:
    ● 此时这个div不能设置宽度、高度;
    ● 此时这个div可以和别人并排了
    
    同样的道理,
            span{
                display: block;
                width: 200px;
                height: 200px;
                background-color: pink;
            }
    “block”是“块”的意思
    让标签变为块级元素。此时这个标签,和一个div无异:
    ● 此时这个span能够设置宽度、高度
    ● 此时这个span必须霸占一行了,别人无法和他并排
    ● 如果不设置宽度,将撑满父亲
    
    标准流里面限制非常多,标签的性质恶心。比如,我们现在就要并排、并且就要设置宽高。
    所以,移民!脱离标准流!
    css中一共有三种手段,使一个元素脱离标准文档流:
    1) 浮动
    2) 绝对定位
    3) 固定定位
  • 浮动
  •         .box1{
                float: left;
                width: 300px;
                height: 400px;
                background-color: yellowgreen;
            }
            .box2{
                float: left;
                width: 400px;
                height: 400px;
                background-color: skyblue;
            }
    
    两个元素并排了,并且两个元素都能够设置宽度、高度了(这在刚才的标准流中,不能实现)。
    浮动想学好,一定要知道三个性质。
    1 浮动的元素脱标
    一个span标签不需要转成块级元素,就能够设置宽度、高度了。所以能够证明一件事儿,就是所有标签已经不区分行内、块了。也就是说,一旦一个元素浮动了,那么,将能够并排了,并且能够设置宽高了。无论它原来是个div还是个span。
            span{
                float: left;
                width: 200px;
                height: 200px;
                background-color: orange;
            }
    
    2 浮动的元素互相贴靠
    3 浮动的元素有“字围”效果
    例如:
            <div>
            <img src="images/1.jpg" alt="" />
        </div>
        <p>123文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字
    </p>
    div挡住了p,但是p中的文字不会被挡住,形成“字围”效果。
    
    关于浮动我们要强调一点,浮动这个东西,我们在初期一定要遵循一个原则:
    永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动。
        

原文地址:https://www.cnblogs.com/lyz0925/p/9803370.html

时间: 2024-10-16 19:32:56

WEB学习-CSS盒模型的相关文章

大前端学习笔记整理【一】CSS盒模型与基于盒模型的6种元素居中方案

概览 CSS盒模型,规定了元素框来处理元素的 内容.内边距.边框和外边距的方式 元素部分是指内容部分,也是最实际的内容,包围内容的称之为内边距,内边距外围是边框,边框外围就是外边距:且外边距是透明的,所以并不会阻挡其后的元素 * { margin: 0; padding: 0; } 这是在CSS中最常见的初始化CSS的代码,用于覆盖浏览器的默认样式 浏览器兼容性 大多数浏览器都会按照上面的图示来呈现内容.然而 IE 5 和 6 的呈现却是不正确的.根据 W3C 的规范,元素内容占据的空间是由 w

从零开始学习前端开发 — 3、CSS盒模型

★  盒子模型 (标准的盒模型) css盒模型的概念及组成 css盒模型是css的基石,每个html标签都可以看作是一个盒模型. css盒模型是由内容(content),补白或填充(padding),边框(border),外边距(margin)四部分组成(具体如图所示) 1.内容(content) 宽度 width:数值+单位; 高度 height:数值+单位; eg: .box{width:200px;height:100px;} 2.补白或填充 (设置内容和边框之间的距离) 语法:paddi

css盒模型与bfc与布局与垂直水平居中与css设计模式等

一.css盒子与布局相关 盒子内部的布局 盒子之间的布局visual formatting 脱离正常流normal flow的盒子的布局 absolute布局上下文下的布局 float布局上下文下的布局 flow下的盒子的布局 BFC布局上下文下的布局 IFC布局上下文下的布局 FFC布局上下文下的布局 table布局上下文下的布局 css grid布局上下文下的布局 1.css盒模型 页面上显示的每个元素(包括内联元素)都可以看作一个盒子,即盒模型( box model ) 盒模型有4部分组成

css盒模型

css盒子模型是为了让我们充分理解div+css模型的定位功能,盒子模型在学习div+css布局方式中必须要学习的一个模型. 那什么是css盒模型呢? 网页设计中常听到的属性名:内容(content).填充(padding).边框(border).边界(margin).css盒模型都具备这些属性.这些属性和日常生活中盒子的属性是一样的.内容就是盒子里面装的东西,而填充就是像盒子里装的一些反震的材料,边框就是箱子的本身,边界呢就像盒子之间的空隙. 盒子的模型有2种,分别是IE盒子模型和标准盒子模型

第16章 CSS盒模型下

第 16章 CSS盒模型[下]学习要点:1.元素可见性2.元素盒类型3.元素的浮动 本章主要探讨 HTML5中 CSS盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素可见性使用visibility属性可以实现元素的可见性,这种样式一般可以配合 JavaScript来实现效果.样式表如下:属性 visibility 值 说明 CSS版本visible 默认值,元素在页面上可见 2hidden 元素不可见,但会占据空间. 2collapse 元素不可见,隐藏表格的行与列. 2 如果不

CSS盒模型(Box Model)

阅读目录 1. 什么是CSS盒模型 2. IE盒模型和W3C盒模型 3. CSS3属性box-sizing 4. 关于盒模型的使用 在最初接触CSS的时候,对于CSS盒模型的不了解,撞了很多次的南墙呀.盒模型是网页布局的基础,它制定了元素如何在页面中显示,如果足够地掌握,那使用CSS布局那将会容易得多. 1. 什么是CSS盒模型 盒模型,顾名思义,就是一个盒子.生活中的盒子,有长宽高,盒子本身也有厚度,可以用来装东西.页面上的盒模型我们可以理解为,从盒子顶部俯视所得的一个平面图,盒子里装的东西,

7.css盒模型

所谓的盒模型,其实就是把元素当成盒子,元素里的文本就是盒子里的东西. 而根据元素的特效,其盒模型的特效也不同,下面是一些总结: 1.块级元素(区块) 所谓块级元素,就是能够设置元素尺寸.有隔离其他元素功能的元素.比如<div>.<p>等分组元素 2.行内元素(内联) 所谓行内元素,是不能够设置元素尺寸的,它只能自适应内容.无法隔离其他元素,其他元素会紧跟其后.比如<span>.<b>等文本元素. 3.行内-块元素(内联块) 所谓行内-块元素,可以设置元素尺寸

第 16 章 CSS 盒模型[下]

学习要点: 1.元素可见性 2.元素盒类型 3.元素的浮动 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素可见性 使用 visibility 属性可以实现元素的可见性,这种样式一般可以配合 JavaScript 来实现效果.样式表如下: 属性 值 说明 CSS 版本 visible 默认值,元素在页面上可见. 2 visibility hidden 元素不可见,但会占据空间. 2 collapse 元素不可见,隐藏表格的行

第 16 章 CSS 盒模型[上]

学习要点: 1.元素尺寸 2.元素内边距 3.元素外边距 4.处理溢出 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 盒模型,学习怎样了解元素的外观配置以及文档的整体布局. 一.元素尺寸 CSS 盒模型中最基础的就是设置一个元素的尺寸大小.有三组样式来配置一个元素的尺寸大小,样式表如下: 属性 值 说明 CSS 版本 width auto.长度值或百分比 设置元素的宽度 1 height auto.长度值或百分比 设置元素的高度 1 min-width auto.长度值或百分比 设置元