经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下方法: 一: 右侧固定宽度 左侧自适应 第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div class="box-left">        <a href="" target=&q…
第一种:左右侧采用浮动 中间采用margin-left 和 margin-right 方法. 代码如下: <div style="width:100%; margin:0 auto;"> <div style="width:200px; float:right; background-color:#960">这是右侧的内容 固定宽度</div> <div style="width:150px; float:left…
作为布局的入门级选手,网上也查看了很多信息和资源 双飞翼的html结构 <div class="container"> <div class="main"> <div class="content">main</div> </div> <div class="left">left</div> <div class="right&…
页面布局 注意方案多样性.各自原理.各自优缺点.如果不定高呢.兼容性如何 三栏自适应布局,左右两侧300px,中间宽度自适应 (1) 给出5种方案 方案一: float (左右浮动,中间不用给宽,设置margin左右留出位置) html部分,center放到后面 <section class="wrapper"> <div class="left">left</div> <div class="right"…
flex左右布局 左边固定 右侧自适应 想要保证自适应内容不超出容器怎么办. 通过为自适应的一侧设置width: 0;或者overflow: hidden;解决. 首先实现标题的布局,也很简单: <div class="item"> <div class="l">LEFT</div> <div class="r"> <div class="title">OMG OMG…
前言 在实际开发中,我们经常会想要实现的一种布局方式就是三栏等分布局,那么我们如何来解决这个问题呢? 解决 方法一:flex 外层容器也就是ul设置display:flex,对项目也就是li设置flex:auto,代表 flex: 1 1 auto <style> * { list-style: none; border: ; padding: ; margin: } ul { width: 500px; height: 200px; background: red; display: fle…
来源:http://blog.csdn.net/cinderella_hou/article/details/52156333 所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于css3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局    这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法    …
方法一:绝对定位(absolute + margin) 原理:给左右两边的元素设置absolute,这样左右两边的元素脱离标准文档流的控制,中间的元素自然会上来,然后给中间的元素设置margin留出左右两边元素的位置,也就是说margin-left = “左边元素的宽度”  margin-right = "右边元素的宽度" 优点:三个div的顺序是任意的 缺点:要对样式进行初始化,否则元素间会出现空隙,因为使用了absolute,如果页面还有其他内容处理时要小心! 注:随着浏览器窗口缩…
前端常问的面试题,题目:假设高度一定,请写出三栏布局,左右宽度300px,中间自适应. 看到这里我希望你能停下来思考几分钟, 1分钟~2分钟~3分钟~4分钟~5分钟! 好了,那么你想出了几种答案呢? 下面提供这道题的五种解决方案: 首先要写好整个页面的布局(初始化等) <style> html * { padding: 0; margin: 0; } .layout { margin-top: 20px; } .layout article div { min-height: 100px; }…
三栏布局就是左中右,左右两边固定,中间自适应. 1. 绝对定位 <div class="left">左边</div> <div class="middle">中间</div> <div class="right">右边</div> body { padding: ; margin: ; } /* 绝对定位 */ .left, .right { position: absolu…
常见的布局方式: float布局.Position定位.table布局.弹性(flex)布局.网格(grid)布局 那么我们就是用以上5种方式完成三栏布局,不过前提是左右宽度(假如左右宽度为300px),整个高度已知(假如高度为100px),中间宽度自适应 1.float布局: float最初的设计的初衷是为了解决文字环绕的问题 ,即给一个图片设置float属性之后会使文字环绕在图片周围显示.float之所以可以实现文字环绕是源于设置float属性的元素可以脱离文档流,使父元素高度塌陷. 好了知…
要求:自适应宽度,左右两栏固定宽度,中间栏优先加载: <!DOCTYPE html> <html> <head> <title>layout</title> <style type="text/css"> * { margin: 0; padding: 0px; } .wrap-2 { margin-top: 20px; } .header { background: #E81D1D; text-align: ce…
前几天看到我们的UI稿,要实现左侧固定树结构,右侧自适应.想着自己写过几次但是每次都会忘记,在这里做个笔记. 第一种方法: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="http://libs.baidu.com/jquery/2.1…
看了一些网上的案例,感觉较繁杂,于是,自己整理了一篇来说明这个东西. 也是给我自己复习吧,以前有人问道,我还没答上来呢.== 看代码: html: <div class="top">this is top</div> <div class="container"> <div class="left">this is left</div> <div class="cente…
1.利用定位实现 css代码如下: .box{overflow: hidden;height: 100px;margin: 10px 0;} .box>div{height: 100%;} #box1{position: relative;} .left1{;;width: 100px;background: yellow;} .main1{background: #09c;margin: 0 100px 0 100px;} .right1{;;width: 100px;background:…
第一种:采用浮动 1.1首先来看一下网上一个哥们给的代码 <body> <div class="left">左</div> <div class="right">右</div> <div class="center">中</div> </body> div{ height: 200px; } .left{ float: left; background…
1.两边浮动,中间自动宽度 给左右两个盒子设置左右浮动,中间的盒子不设置宽度,左右两边边距为左右盒子的宽度,中间盒子的位置必须写在右盒子下面,不然会把右盒子挤下去 如:   <div class="left"></div>     <div class="right"></div>     <div class="center"></div>     <style>…
本文由云+社区发表 作者:前端林子 本文会分别介绍三种CSS实现三栏布局的方法,可在浏览器中打开查看效果 1.方法一:自身浮动的方法 实现方法:需要左栏向左浮动,右栏向右浮动,中间设左右margin来撑开距离 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS实现三栏布局1</title> <s…
1.两栏 <div class="wrapper"> <div class="half left">left box <p>自适应</p> </div> <div class="half right">right box 固定</div> </div> 1.1.左侧宽度固定,右侧自适应 方式一.float+margin .wrapper{ width:…
1.前言 作为一个前端开发人员,工作学习中经常会遇到快速构建网页布局的情况,这篇我整理了一下我知道的一些方法.我也是第一次总结,包括圣杯布局,双飞翼布局,table-cell布局都是第一次听说,可能会有需要修改的地方请谅解.三栏布局顾名思义,就是左右两侧宽高固定,中间一列居中切随着浏览器页面变化.下面来看下具体的实现方法: 2.具体实现方法 实现效果如下: (1)绝对定位方法 <div class="box"> <div class="left"&…
任务目标 掌握HTML/CSS布局的概念 掌握盒模型的概念 掌握position与float的概念以及在布局时的用法 任务描述 使用 HTML 与 CSS 按照示意图;实现三栏式布局. 左右两栏宽度固定,中间一栏根据父元素宽度填充满,最外面的框应理解为浏览器.背景色为 #eee 区域的高度取决于三个子元素中最高的高度. 任务注意事项 尝试 position 和 float 的效果,思考它们的异同和应用场景. 改变中间一栏的内容长度,以确保在中间一栏较高和右边一栏较高时,父元素的高度始终为子元素中…
前端知识 Calc()介绍 calc的英文是calculate的缩写,中文为计算的意思,是css3的一个新增的功能,用来只当元素的长度.比如说:你可以用calc()给元素margin.padding.border.font-size和width等属性设置动态值.为什么说是动态值呢?因为我们是使用来表示得到的值.不过calc()最大的好处就是用在流体布局上,可以通过calc()计算得到元素的宽度. Calc()的用处 calc()能让你给元素的做计算,你可以给一个div元素,使用百分比.em.px…
了解css的人知道,对于不同的屏幕尺寸,css使用一种名为媒体查询的东东来适用不同的屏幕尺寸,以提升用户体验.当用户使用PC等大屏幕的设备时,网页将呈现一种布局形式:而当用户使用手机等小屏幕设备时,布局将发生变化,比如将原来的两列布局变为一列. 就是这个! @media screen and (min-width:600px) { nav { float: left; width: 25%; } section { margin-left: 25%; } } @media screen and…
flex: display:-webkit-box | -moz-box;盒布局 -webkit-box-flex | -moz-box-flex;弹性盒布局 -webkit-box-ordinal-group | -moz-box-ordinal-group;改变元素排列顺序 -webkit-box-orient | -moz-box-orient;改变元素排列方向:垂直|水平 -webkit-box-pack | -moz-box-pack;垂直方向上,元素排列位置 -webkit-box-…
前几天面试时有道css题没做出来,回来好好学习一番后把其记录下来. 题目是这样的:左中右三栏布局,左右两栏宽度固定,左右两栏的宽度为200像素,中间栏宽度自适应.当屏幕小于600px时,3栏会分别占用一行.像这样 当屏幕大于600px时,是这样 我做出来用了css3的@media,如果不用这个,好吧,水平有限想不出来... 下面是代码: <!DOCTYPE> <html> <head> <style> body{ margin: 0 ; padding: 0…
1.前言 用css实现“两边定宽,中间自适应的三栏布局”这个问题应该是在前端面试中被面试官提问到的高频问题了,一般当面试者写出一种实现方法之后,面试官还会问你还有没有别的方法,尽量多的写出几种实现方法. 2.实现原理 要想实现这种“两边定宽,中间自适应的三栏布局”其实也不难,无外乎把握住以下几点: 要想中间自适应,那么中间的div不能设置宽度width,这样宽度就会随着浏览器窗口自适应. 由于div是块级元素,要想三个div处于同一行,那么两边的div就要脱离文档流. CSS3的flex伸缩布局…
在前端日常布局中,会经常遇到左侧宽度固定,右侧自适应或者左右两边固定,中间部分自适应的实用场景.本文例子中将列举出两种常用的两栏布局,左侧固定右侧自适应的常用方法以及代码和五种左右固定中间自适应的常用方法以及代码 具体实现效果展示如下: 1.二栏布局-flex弹性布局 <!-- flex弹性布局 --> <div class="title">flex弹性布局:</div> <div class="box1"> <…
圣杯布局和双飞翼布局是前端工程师需要日常掌握的重要布局方式.两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局 虽然两者的实现方法略有差异,不过都遵循了以下要点: 1.两侧宽度固定,中间宽度自适应 2.中间部分在DOM结构上优先,以便先行渲染 3.允许三列中的任意一列成为最高列 4.只需要使用一个额外的<div>标签 圣杯布局 <!DOCTYPE html> <html> <head> <meta charset="utf…
如何实现一个三栏自适应布局,左右各100px,中间随着浏览器宽度自适应? 第一个想到的是使用table布局,设置table的宽度为100%,三个td,第1个和第3个固定宽度为100px,那么中间那个就会自适应了,下面是一个实时的demo: left  middle  right  但是table布局是不推荐的,table布局是css流行之前使用的布局,有很多缺点:当table加载完之前,整个table的都是空白的,table将数据和排版参和在一起,使得页面混乱,并且table布局修改排版十分麻烦…