CSS盒子模型(boeder)+浮动(float)+定位(position)

盒子的上下层:margin--background-color--background-image--padding--content--border(最外层)
计算一个盒子宽 = 内容的宽(width) + 左内边距 + 左边框 + 右内边距 + 右边框
注意:(1)内边距撑大盒子宽高, 限制某个盒子宽高, 添加内边距, 宽,高,相应的减去内边距
(2)垂直方向的外边距合并:
(外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。)
第一种情况: 父盒子与子盒子的上外边边距的合并
前提条件:父盒子没有上边框,或者没有设置上内边距, 当来设置子盒子的上外边距,
父元素没有上外边距(0px) 把子元素的上外边距加到父元素上外边距,
如果父元素也设置上外边距, 以这两个大者为准

第二种情况: 上下兄弟盒子的垂直方向的外边距合并
当上盒子设置下外边距, 下盒子设置上外边距, 进行合并, 谁大以谁为准

常用:margin:0px auto;
float:实现网页布局, 显示了块级元素可以共享一行
块级元素: 独占一行, 可以设置宽高,
内联元素: 与其他内联元素共享一行, 不可以设置宽高,
浮动: 让元素飘起来
块级元素浮动, 块级元素与其他元素共享一行,可以设置宽高
内联元素浮动: 与其他内联元素共享一行, 可以设置宽高
浮动的影响:
1) 对自己的影响
这个元素默认的宽, 等于内容的宽
2) 对后面兄弟元素的影响
后面的兄弟元素往上移, 浮动元素所占的行空间释放
3) 对父元素的影响
父元素的高减少, 由原来的高 变成 减去浮动元素的高,
如果某个元素浮动, 后面的兄弟元素也浮动, 后面的兄弟与前的浮动元素,位于同一行(前一个浮动元素后面的空间存放后面浮动元素),
如果前一个浮动元素后面的空间不存放后面浮动元素, 后面的浮动元素从新的一行浮动
浮动影响对应解决方案:
1) 对自己的影响, 通过设置width属性
2) 对后面兄弟元素影响, 后面兄弟元素,往前移,
后面元素不往前移:
clear 属性规定元素的哪一侧不允许其他浮动元素。
3) 对父元素的影响, 减少父元素的高, 特别,如果有一个父元素,它的子元素全部浮动, 默认的父元素的高, 几乎为0 , 影响父元素后面的兄弟
解决父元素高的问题:
1) 设置父元素的高, 很少使用(元素的高,一般都是被内容撑高,很少设置高)
2) 内墙法: 在父元素最后的位置,添加一个子元素, 配合使用clear属性
Clear:both, W3C官方推荐
缺点:添加了一个新的元素
3) 外墙法: 结合css的伪元素, , 外墙法, 在父元素的伪造一个元素, 清浮动
伪元素中必须包含一个content样式属性, 伪元素的内容,
要求这个伪元素的display为block;
4) 样式属性Overflow: 溢出的处理 (推荐)
常用的hidden;
在父元素中设置overflow:hidden;增加父元素的高, 父元素的高等于全部浮动子元素中最高的高
display的默认值为none;不显示
block;以块级元素显示
inline;以内联元素显示
定位: 可以实现网页布局, 作为浮动一个补充, 把某个元素定在某个位置,出现层叠的效果
样式属性:position:
相对定位(relative), 绝对定位(absolute), 固定定位(fixed)
一般使用:
父类 :position: relative;
子类:position: absolute;
相对定位: 参考点: 定位元素原来的位置, 原来的位置保留
1) 对自己的影响, 默认的宽还是父级元素的宽, 移到
2) 对后面的兄弟元素的影响, 没有影响
3) 对父元素的影响,对父元素的高没有影响
使用场景: 作为绝对定位的参考点, 父相子绝
绝对定位: 参考点: 父辈元素中离我最近的一个定位元素作为参考点
1) 对自己的影响, 默认的宽,等于内容的宽
2) 对后面的兄弟元素的影响, 往前移
3) 对父元素的影响,父元素的高减少,
如果绝对定位的父辈元素没有定位元素, 参考点: 浏览器窗口
固定定位: 参考点: 浏览器的可见区域,屏幕, IE6不支持
1) 对自己的影响, 默认的宽,等于内容的宽
2)对后面的兄弟元素的影响, 往前移
3) 对父元素的影响,父元素的高减少,
悬挂窗口, 窗口在屏幕的某个位置
z-index: 设置元素的堆叠顺序。 一定要在定位元素中才有效
值: 数字, 数字越大, 位于上层, 可以负数, 默认值0
透明: opacity: 设置透明度: 0~1 0: 全透明 1: 不透明(,默认), 0.5 半透明
Css3: 圆角: border-radius: 设置圆角, 值;圆角的半径
CSS盒子模型(boeder)+浮动(float)+定位(position)的更多相关文章
- {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性 定位(position)z-index
前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...
- 前端之CSS——盒子模型和浮动
一.CSS盒子模型 HTML文档中的每个元素都被描绘成矩形盒子,这些矩形盒子通过一个模型来描述其占用空间,这个模型称为盒子模型. 盒子模型通过四个边界来描述:margin(外边距),border(边框 ...
- css的核心内容 标准流、盒子模型、浮动、定位等分析
1.块级元素:如:<div></div>2.行内元素:如:<span></span>从效果中看块级元素与行内元素的区别: 通过CSS的设置把行内元素转换 ...
- HTML+CSS教程(六)浮动-float+定位-position+居中问题
一.浮动(float)1.文档流:是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置 ...
- CSS(6)---通俗讲解浮动(float)
CSS(6)---通俗讲解浮动(float) CSS有三模块:盒子模型.浮动 .定位.上篇博客有讲到 盒子模型地址:CSS(5)---通俗讲解盒子模型 一.理解浮动 1.概念 概念 浮动可以理解为让某 ...
- Web前端篇:CSS常用格式化排版、盒模型、浮动、定位、背景边框属性
目录 Web前端篇:CSS常用格式化排版.盒模型.浮动.定位.背景边框属性 1.常用格式化排版 2.CSS盒模型 3.浮动 4.定位 5.背景属性和边框属性 6.网页中规范和错误问题 7.显示方式 W ...
- <转>HTML+CSS总结/深入理解CSS盒子模型
原文地址:http://www.chinaz.com/design/2010/1229/151993.shtml 前言:前阵子在做一个项目时,在页面布局方面遇到了一点小问题,于是上stackoverf ...
- 从CSS盒子模型说起
前言 总括: 对于盒子模型,BFC,IFC和外边距合并等概念和问题的总结 原文地址:从CSS盒子模型说起 知乎专栏:前端进击者 博主博客地址:Damonare的个人博客 为学之道,莫先于穷理:穷理之要 ...
- css盒子模型、垂直外边距合并
css盒子模型由四部分组成:内容(content).填充(padding).边框(border).边距(margin),其中css样式中定义的width属性是定义内容区域的宽度,正常情况下,设置了内容 ...
随机推荐
- 前端每日实战:125# 视频演示如何用纯 CSS 创作一个失落的人独自行走的动画
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MqpOdR/ 可交互视频 此视频是 ...
- css实战#用css画一个中国结
大家好!今天跟大家分享一个用 css 画中国结的教程.最终效果如下: 大家如果感兴趣可以参考我的源码:gitHub地址 首先,我们定义好画中国结需要的结构: <div class="k ...
- HTML、CSS笔记
盒模型 在CSS中,使用标准盒模型描述这些矩形盒子中的每一个.这个模型描述了元素所占空间的内容.每个盒子有四个边:外边距边, 边框边, 内填充边 与 内容边. 在标准模式下,一个块的总宽度= widt ...
- cocoapods相关的知识点
目录 1.安装和卸载cocoapods 安装 卸载 2.常规问题解决思路 50%报错问题可以通过 pod install或者pod update解决 指定swift编译版本 由于墙的原因,可能会ins ...
- frp 内网穿透访问内网Web服务
ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...
- ZipArchive(解压文件)
一.首先介绍minizip 的使用方法 ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code. ...
- unzip详解,Linux系统如何解压缩zip文件?
通常在使用linux时会自带了unzip,但是在最小化安装之后,可能系统里就无法使用此命令了. yum list unzip 查看是否安装 如果没安装过就继续 yum install unzip 安装 ...
- C#.Net全栈工程师之路-学习路径
C#.Net全栈工程师之路-学习路径 按架构分: C/S架构: B/S架构: Mobile移动开发: 按技术点分: C#编程基础以及OOP面向对象编程: 数据库基础以及高级应用(MYSQL+MSSQL ...
- 最全Redis基础知识
NoSQL概述 什么是NoSQL NoSQL不仅仅是SQL,它是Not Only SQL 的缩写,也是众多非关系型数据库的统称NoSQL和关系型数据库一样,也是用来存储数据的仓库. 为什么需要NoSQ ...
- R|tableone 快速绘制文章“表一”-基线特征三线表
首发于“生信补给站” :https://mp.weixin.qq.com/s/LJfgxbTqsp8egnQxEI0nJg 生物医学或其他研究论文中的“表一”多为基线特征的描述性统计.使用R单独进行统 ...