• 盒子的区域
  • 一个盒子中主要的属性就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="data:images/0.jpg" /><img src="data:images/1.jpg" /><img src="data:images/2.jpg" />2) 高矮不齐,底边对齐。3) 自动换行,一行写不满,换行写。

  • 块级元素和行内元素
  • 标准文档流等级森严。标签分为两种等级:
    1) 块级元素
    ● 霸占一行,不能与其他任何元素并列
    ● 能接受宽、高
    ● 如果不设置宽度,那么宽度将默认变为父亲的100%。
    2) 行内元素
    ● 与其他行内元素并排
    ● 不能设置宽、高。默认的宽度,就是文字的宽度。在HTML中,我们已经将标签分过类,当时分为了:文本级、容器级。
    文本级:p、span、a、b、i、u、em
    容器级:div、h系列、li、dt、ddCSS的分类和上面的很像,就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="data:images/1.jpg" alt="" /></div><p>123文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字文字
    </p>
    div挡住了p,但是p中的文字不会被挡住,形成“字围”效果。关于浮动我们要强调一点,浮动这个东西,我们在初期一定要遵循一个原则:
    永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动。

转载于:https://www.cnblogs.com/lyz0925/p/9803370.html

WEB学习-CSS盒模型相关推荐

  1. CSS 学习笔记 - 盒模型

    CSS学习笔记 - 盒模型 外边距margin 内边距padding 背景background 背景图background-image 边框border 样式 宽度 颜色 圆角 边框图片border- ...

  2. 简要介绍css的盒模型,CSS盒模型的介绍

    CSS盒模型的概念与分类 CSS盒模型就是一个盒子,封装周围的HTML元素,它包括内容content.边框border.内边距padding.外边距margin. CSS盒模型分为标准模型和IE模型: ...

  3. CSS盒模型、边框和背景、表格和列表、颜色和透明度、阴影和轮廓及长度单位rem

    1.CSS 盒模型 元素尺寸 CSS 盒模型中最基础的就是设置一个元素的尺寸大小.有三组样式来配置一个元素的尺寸大小,样式表如下: 属性 值 说明 CSS版本 width auto.长度值或百分比 设 ...

  4. 深入理解CSS盒模型 - 程序猿的程 - 博客园

    深入理解CSS盒模型 本文是学习中传思客在慕课网开的课程<前端跳槽面试必备技巧>的学习笔记.课程地址:https://coding.imooc.com/class/evaluation/1 ...

  5. CSS 盒模型与box-sizing

    一.盒模型 一个web页面由许多html元素组成,而每一个html元素都可以表示为一个矩形的盒子,CSS盒模型正是描述这些矩形盒子的存在. MDN的描述: When laying out a docu ...

  6. html5 box sizing,CSS 盒模型与box-sizing

    一.盒模型 一个web页面由许多html元素组成,而每一个html元素都可以表示为一个矩形的盒子,CSS盒模型正是描述这些矩形盒子的存在. MDN的描述: When laying out a docu ...

  7. 从零开始学前端 - 7. CSS盒模型 margin和padding详解

    作者: 她不美却常驻我心 博客地址: https://blog.csdn.net/qq_39506551 微信公众号:老王的前端分享 每篇文章纯属个人经验观点,如有错误疏漏欢迎指正.转载请附带作者信息 ...

  8. 了解CSS盒模型、页面布局在UI设计中的作用

    我司实行UI规范已过去一段时间,页面风格已逐渐实现统一.但近期在实际业务开发中发现,在UI验收环节不断出现小数值调整情况,极大的延长验收时间. 在和UI设计人员探讨后发现设计者对前端盒模型概念不甚了解 ...

  9. CSS基础:简述CSS盒模型

    盒模型 问题:简述 CSS 盒模型 一.块级盒子(Block box) 和 内联盒子(Inline box) 在 CSS 中我们广泛地使用两种"盒子" -- 块级盒子 (block ...

最新文章

  1. mac系统下安装、启动、停止mongodb
  2. linux centos 网络设置 优先使用ipv4 其次ipv6
  3. boost::math::tools::simple_continued_fraction用法的测试程序
  4. java反射使用及性能比较
  5. Java基础 —— 异常
  6. LeetCode 1781. 所有子字符串美丽值之和
  7. HDOJ 2896 病毒侵袭(AC自动机入门)
  8. V4L2视频应用程序编程架构
  9. 计算机地图制图的优点,计算机地图制图实习报告.doc
  10. 三角形的缩放动画,不会做的看过来!
  11. 网络在线直播技术揭秘(一):编码与压缩算法
  12. 浪潮云ERP到底属于什么水平?
  13. 上可以替代mobaxterm_电能替代 | 基于逻辑回归模型的电能替代用户辨识研究
  14. java跳出双重循环
  15. 论手持设备应用的WebApp化!
  16. 图像的匹配、配准、融合、拼接等概念的区别
  17. 【C++】【第六篇-2】【黑马 p215~p242】【list容器】【set/multiset容器】【map/multimap容器】【函数对象】【谓词】【内建函数对象】
  18. CAS - CentOS下部署CAS服务器及简单使用
  19. 淘宝村峰会 | 对话:农村电商让老百姓有尊严地脱贫
  20. 字节跳动面经-游戏岗

热门文章

  1. SQL语句-exec执行
  2. C 实现删除非空文件夹
  3. spark streaming 接收 kafka 数据java代码WordCount示例
  4. nagios2------添加监控对象
  5. 数据库sharding(scale up to scale out)
  6. MFC:怎么将程序窗口最小化到系统托盘
  7. linux怎么获取当前路径,linux 下获取当前工作路径的实例
  8. opencv-python 9.4 拆分及合并图像通道
  9. modelsim仿真中 do文件的写法技巧
  10. 武汉大专计算机专业分数线,武汉专科大学有哪些 2019武汉专科大学排名及分数线...