一、基础 1.position 这是由于float和绝对定位都是使用块框架(block layout)来显示,所以会隐式地改变display的值。 二、居中 1...
#什么是 BFC Box:Box 是 CSS 布局的对象和基本单位,你可以理解一个页面就是由很多的 Box 组成的 Formatting Context:即格式化上下文,它是存在页面中的一块独立的渲染区域...这里的元素不会在布局上影响到外面的元素(比如浮动/定位的元素等等)。 通俗一点讲,可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论怎样翻江倒海,都不会影响到外部。...不和浮动元素重叠 在一个BFC中使用两个BFC可以做两列布局时使用 #水平居中布局 #空间居中布局 Grid 布局 .container { display: grid; place-items
CSS有三种基本的定位机制:普通流,浮动和绝对定位。...绝对定位 相对定位可以看作特殊的普通流定位,元素位置是相对于他在普通流中位置发生变化,而绝对定位使元素的位置与文档流无关,也不占据文档流空间,普通流中的元素布局就像绝对定位元素不存在一样。...浮动布局 首先介绍一些浮动模型的基本知识:浮动模型也是一种可视化格式模型,浮动的框可以左右移动(根据float属性值而定),直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘。...> 可以看出浮动后虽然黄色div布局不受浮动影响,正常布局,但是文字部分却被挤到了紫色浮动div下边。...参考文档 CSS布局 ——从display,position, float属性谈起.:
布局模型 在网页中,元素有三种布局模型: 1、流动模型(Flow) 默认的 2、浮动模型 (Float) 3、层模型(Layer) 1、流动模型(Flow) 流动(Flow)模型是默认的网页布局模式。...流动布局模型具有2个比较典型的特征: 第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。...(内联元素可不像块状元素这么霸道独占一行) 2、浮动模型 (Float) 任何元素在默认情况下是不能浮动的,但可以用 CSS 定义为浮动 div{float:left;} div{float:right...;} 可以为不同的div设置不同的浮动方式来布局。...绝对定位使元素脱离文档流,因此不占据空间 ,普通文档流中元素的布局就当绝对定位的元素不存在时一样,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。
圣杯布局和双飞翼布局一直是前端面试的高频考点,圣杯布局的出现是来自由 Matthew Levine 在 2006 年写的一篇文章 《In Search of the Holy Grail》。...比起双飞翼布局,它的起源不是源于对页面的形象表达。在西方,圣杯是表达“渴求之物”的意思。而双飞翼布局则是源于淘宝的UED,可以说是灵感来自于页面渲染。...圣杯布局要求 header和footer各自占领屏幕所有宽度,高度固定。 中间的container是一个三栏布局。 三栏布局两侧宽度固定不变,中间部分自动填充整个区域。...中间的container是一个三栏布局。 三栏布局两侧宽度固定不变,中间部分自动填充整个区域。 中间部分的高度是三栏中最高的区域的高度。...圣杯布局的三种实现 【1】浮动 先定义好header和footer的样式,使之横向撑满。
parent"> child .parent { display: flex; align-items: center; } css...text-align:center; 定宽块状元素: 设置左右margin值为auto; 不定宽块状元素: 设置子元素为display:inline,然后在父元素上设置text-align:center; css3...三列布局的特征是两侧两列固定宽度,中间列自适应宽度。 之所以将二列布局和三列布局写在一起,是因为二列布局可以看做去掉一个侧栏的三列布局,其布局的思想有异曲同工之妙。...对于传统的实现方法,主要讨论上图中前三种布局,经典的带有侧栏的二栏布局以及带有左右侧栏的三栏布局,对于flex布局,实现了上图的五种布局。...双飞翼布局(float + 负margin ) **原理说明**: 双飞翼布局和圣杯布局的思想有些相似,都利用了浮动和负边距,但双飞翼布局在圣杯布局上做了改进,在main元素上加了一层div, 并设置margin
01 - Flex布局是什么 在翻译中,“Flex”意为“松紧带”,在前端开发中可以理解为弹性布局。...所有的浏览器目前都支持了Flex布局,除“Webkit ”内核的浏览器需要加如下前缀: display:-webkit-flex; 02 - 需要注意 1、设为 Flex 布局以后,子元素的float、...2、行内元素也可以使用 Flex 布局。 03 - 属性 1、flex-direction(容器)属性 描述:决定主轴的方向。 row(默认值):主轴为水平方向,起点在左端。
CSS布局(二) 等高布局 等高布局,顾名思义,就是指子元素在父元素中高度相等的布局。 开始之前,先看一个情境。... css代码 main { color: #eee; } main>div { display: inline-block; width: 300px...html 主体内容 css html, body {...有flex布局的地方怎么能没有grid布局(×?)。...、grid布局真nb 参考链接: 常用的多列等高布局收藏 css实现上下固定中间自适应布局 实现粘连布局
一个弹性容器能控制内部元素的布局。子元素按照主轴线排列,主轴的方向为主起点(左)到主终点(右)。垂直于主轴的是副轴。方向从副起点(上)到副终点(下)。这些轴的方向可以改变。...在 CSS 里,不仅要考虑当前网页的内容,还要考虑内容变化后的情况,或者是相同的样式表作用到相似网页上的情况。...flex"> flex: 0 0 300px flex: 1 圣杯布局...https://codepen.io/cellinlab/pen/JjMpVvp 水平弹性盒子的大部分概念同样适用于垂直的弹性盒子(column 或 column-reverse),但是有一点不同:在 CSS...让屏幕上的视觉布局顺序和源码顺序差别太大会影响网站的可访问性。
CSS布局 确定页面的大致结构,页面分多少块,每块的位置。每个部分怎么把该部分撑起来。...* 写css时要注意z-index的设置,一般来说 会给不同的元素 设置不同的区间,以防元素之间相互覆盖。...* CSS中BFC详解 https://www.cnblogs.com/chen-cong/p/7862832.html clear: both; 的作用是:保证该元素左右两侧 没有浮动元素...inline-block 布局 布局所要做的事情是 把不同的块 横向并列起来。由于纵向是由 每一行堆叠起来的,重复的 布局一行的内容,就可以了。 所以 布局重点就是 把块 横向的 排布开来。...对于精确性非常高的地方 就不要使用rem来布局了。 CSS面试题 1. 实现两栏/三栏的布局 的方法 1.
, 28 7月 2022 作者 847954981@qq.com 前端学习, 我的编程之路 CSS Flex布局 Flex布局是W3C提出的具有强大空间分布和对齐能力的布局方案。...Flex布局意为弹性布局,用来为盒状模型提供强大的灵活性 其最显著的效果就是把原本上到下排列的块状元素变成水平排列: .container { display: flex; background...: #D5E8D4; border: 1px solid #5D9E5A; } 注意的是:使用Flex布局后,子元素的float、clear和vertical-align属性将失效 此时,我们称父元素为容器...; flex: none; } .flex-auto .flexible { flex: 1; } 实现一栏固定,一栏自适应的效果 flex-direction 主轴设定 图片 在flex布局中
除了这种方案之外,三栏布局的实现还有广为流传的圣杯布局和双飞翼布局。 双飞翼布局&圣杯布局 三:flex布局 flex布局是什么?...响应式实现基于媒体查询,根据不同的屏幕分辨率,选择不同的css规则,例如: @media screen and (max-width: 540px) { /* 移动端 */ .box{ background...ccc; } } 也可以把要套用的描述独立成外部档案: 借助于媒体查询,我们便可以使得页面在不同的设备上,能使用最适合页面大小的css方案,从而实现响应式布局。...注意:响应式布局往往与百分比布局结合使用。 相关链接 双飞翼布局&圣杯布局 阮一峰的flex布局教程 自适应设计与相应式网页设计
CSS布局(一) 看面试题,看到两个没听说过的布局圣杯布局、双飞翼布局。这就来学习一波CSS布局。...header, footer { width: 1000px; height: 50px; background-color: #ccc; margin: 0 auto; } 如果有版心CSS...(没学过grid,推测的结果,不对请指正) 三栏布局 两边的侧边栏固定宽度,中间的主内容自适应宽度。 比较有名的有圣杯布局、双飞翼布局两种。 圣杯布局 圣杯布局是比较特殊的三栏布局。...双飞翼布局是圣杯布局的改进版。...常用布局介绍:单栏双栏,圣杯,双飞翼/附各类居中技巧 几种常见的CSS布局
图解CSS布局(一)- Grid布局 先上图 ?...简介 Grid 布局是将容器划分成"行"和"列",产生单元格,然后指定"项目所在"的单元格,可以看作是二维布局,也是唯一的二维布局方案,利用grid布局可以很轻松的实现很多的网页布局 正文 gird布局很强大...,采用网格布局的区域,称为"容器"(container)。...对中间那列设置了auto,实现了中间自适应的三栏布局 网格线 grid布局叫做网格布局,那自然少不了网格线的存在,使用方括号,指定每一根网格线的名字,方便以后的做定位时使用 grid-template-columns...Tips grid布局中属性有很多,一定要通过实战来记这些属性,要区分好容器属性,和项目属性这是重中之重,多动手才是王道!
按照我的理解,其实圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应。 但在这里实现起来还是有一些区别的 【圣杯布局】 ?... *{margin: 0;padding: 0;} body{min-width: 700px;} .header...DEMO 听说双飞翼布局是玉伯大大提出来的,始于淘宝UED 如果把三栏布局比作一只大鸟,可以把main看成是鸟的身体,sub和extra则是鸟的翅膀。...这个布局的实现思路是,先把最重要的身体部分放好,然后再将翅膀移动到适当的地方.... *{margin: 0;padding: 0;} body{min-width: 700px;} .header
CSS网页布局 阅读目录 一 网页布局方式 二 标准流 三 浮动流 四 定位流 一 网页布局方式 #1、什么是网页布局方式 布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式,比如word...,nodpad++等等 而网页的布局方式指的就是浏览器这款工具是如何对网页中的元素进行排版的 #2、网页布局/排版的三种方式 2.1、标准流 2.2、浮动流 2.3、定位流 二 标准流 标准流的排版方式...,又称为:文档流/普通流,所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。...# 1 浏览器默认的排版方式就是标准流排版方式 # 2 在CSS中将元素分为三类:分别是 块级 行内 行内块级 # 3 在标准流中有两种排版方式...#1、垂直方向的布局用标准流布局,水平方向用浮动流布局 #2、从上至下布局 #3、从外向内布局 #4、水平方向可以先划分为一左一右再对左边后者右边进一步布局 <!
下面介绍网页布局的常用几种方式 1.一列布局: 一般都是固定的宽高,设置margin : 0 auto来水平居中,用于界面显著标题的展示等; .main{ width...height: 100px; background-color: grey; margin: 0 auto; } 2.两列布局...: 说起两列布局,最常见的就是使用float来实现。...float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动。 ...: 在一列布局的基础上,保留top和foot部分,将中间的main部分改造成两列或三列布局,小的模块可以再逐级同理划分。
DOCTYPE html> 网页布局及注册表 *{ margin: 0; /*整体去除外边距*/ padding: 0; /*整体去除内边距*/ } .header{ width: 80%; /* 头部宽度为整个网页80% */ height...--头部--> HTML+CSS+JS HTML 属性 元素 注释 CSS...--左侧菜单栏--> HTML CSS JS <!
圣杯布局和双飞翼布局 是老的布局方式,2012年以前流行,现在已不流行,但是面试可能会考察到,所以记录一下 why it?...做布局的时候,要分清布局块和内容块!布局块DIV只用来布局,内容快DIV只用来添加网页内容。bootstrop就用栅格系统做布局块,内容块是自己设计的独立元素。 例子:简单的头部导航布局 ?... CSS: .clearfix::after{ content...CSS。...请看我的博客,媒体查询CSS5:移动端页面(响应式) 图片处理技巧 为了防止图片收缩,尽量不要使用img标签,使用div标签然后使用 background:transparent url('xxx')
多列布局 定宽+自适应 1)使用float+overflow (1)原理、用法 原理:通过将左边框脱离文本流,设置右边规定当内容溢出元素框时发生的事情以达到多列布局。...布局利器flex中的flex属性以达到多列布局。...布局利器flex中的flex属性以达到多列布局,加上给左框中的内容定宽、给右框设置flex达到不定款+自适应。...因此,我们需要解决两个问题: 如何让总宽度增加g(即:L+g) 如何让每个宽包含g(即:w+g) 1)使用float (1)原理、用法 原理:增大父框的实际宽度后,使用CSS3属性box-sizing进行布局的辅助...布局利器flex中的flex属性以达到等分布局。
领取专属 10元无门槛券
手把手带您无忧上云