CSS自适应布局(包括两边宽度固定中间宽度自适应与中间宽度固定两边宽度自适应)

1、两边宽度固定,中间宽度自适应

(1)非CSS3布局,浮动定位都可以(以下用浮动)

css样式:

#left { float: left;width: 200px; background: lime;}
#right { float: right; width: 200px; background: lime;}
#center { margin:0 200px; background: blue}

html:

<div id="left">left</div>
<div id="right">right</div>
<div id="center">center</div>

(2)CSS3布局

css样式:

* { padding: 0; margin: 0;}
body { display: -webkit-box;}
div { padding: 50px;}
div[left] { width: 200px; background: lime}
div[right] { width: 200px; background: lime;}
div[center] { -webkit-box-flex:1; background: yellow}

html:

<div left>left</div>
<div center>center</div>
<div right>right</div>

2、中间宽度固定,两边宽度自适应

(1)非CSS3布局,浮动与margin解决

css:

.center {width: 600px; background: yellow;}
.center,.left,.right { float: left; }
.left,.right { width: 50%; margin-left: -300px; }
.inner { padding: 50px;}
.left .inner,.right .inner { margin-left: 300px; background: red;}

html:

<div class="left">
    <div class="inner">left</div>
</div>
<div class="center">
    <div class="inner">center</div>
</div>
<div class="right">
    <div class="inner">right</div>
</div>

(2)非CSS3布局,定位与margin解决

css:

* { padding: 0; margin: 0;}
#center { width: 600px; background: red; margin: 0 auto;}
#left { position: absolute; top: 0; left: 0;width: 50%;}
#right { position: absolute; top: 0; right: 0; width: 50%;}
#left div { margin-left: 300px; position: relative; left: -300px; background: lime;}
#right div { margin-right: 300px; position: relative; left: 300px; background: lime;}

html:

<div id="left">
    <div>left</div>
</div>
<div id="right">
    <div>right</div>
</div>
<div id="center">center</div>

(3)CSS3布局

css3:

div[you=me] { display: -webkit-box;}
div div { background: red; height: 100px;}
div div:nth-child(1) {-webkit-box-flex:1;}
div div:nth-child(2) { width: 600px; background: lime}
div div:nth-child(3) {-webkit-box-flex:1;}

html:

<div you="me">
    <div>left</div>
    <div>center</div>
    <div>right</div>
</div>
时间: 2024-10-12 16:32:13

CSS自适应布局(包括两边宽度固定中间宽度自适应与中间宽度固定两边宽度自适应)的相关文章

rem自适应布局的回顾总结

使用rem实现自适应布局,应该算是当前移动前端的一大趋势,有些人对此还有点迷惑,搞不懂rem是如何实现自适应布局,如何根据设计稿来调整rem的值?rem布局如何用雪碧背景图片?rem一定要加载JS吗?rem的根html font-size设置为多少合适?看看这篇文章,也许能帮到你. 这些问题整理来自之前发表过的文章,细心的读者也可以自己翻翻之前的内容找到答案,本文统一给个回复,如果对你有用,还请点个赞,谢谢! rem自适应原理 rem是根据html的font-size大小来变化,正是基于这个出发

rem自适应布局

rem自适应原理 rem是根据html的font-size大小来变化,正是基于这个出发,我们可以在每一个设备下根据设备的宽度设置对应的html字号,从而实现了自适应布局.更多介绍请看这篇文章:rem是如何实现自适应布局的. rem的值 目前有两种,一种是根据js来调整html的字号,另一种则是通过媒体查询来调整字号. 使用js (function(designWidth, maxWidth) { var doc = document, win = window; var docEl = doc.

使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)

来源:http://blog.csdn.net/cinderella_hou/article/details/52156333 所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于css3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局 这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法 绝对定位法原

(转转转)使用CSS实现三栏自适应布局(两边宽度固定,中间自适应)

所谓三列自适应布局指的是两边定宽,中间block宽度自适应.这道题在今年网易内推前端工程师面试的时候也被问到. 我这里主要分为两大类,一类是基于position传统的实现,一类是基于CSS3新特性弹性盒模型布局实现. 1. 基于传统的position和margin等属性进行布局 这里也分为三种方法,分别为绝对定位法,圣杯布局,自身浮动法. 1).绝对定位法 绝对定位法原理是将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流动到他们上面,然后使用margin

CSS流体(自适应)布局下宽度分离原则——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1463 一.简短的前言 之前曾作有“页面重构鑫三无准则之无宽度准则”一文,属于流体布局系列中的偏理论性的文章,本文也是这种性质的,可谓是“无宽度准则”一文的延续. “无宽度准则”是说内部元素不要定宽,但是,除非你的页面是像google的产品页面一样都是100%自适应的,那么页面的终归会有一个固定的宽度值,一般出现在页面的

CSS自适应布局(左右固定 中间自适应或者右侧固定 左侧自适应)

经常在工作中或者在面试中会碰到这样的问题,比如我想要个布局 右侧固定宽度 左侧自适应 或者 三列布局 左右固定 中间自适应的问题. 下面我们分别来学习下,当然我也是总结下而已,有如以下网站源码方法: 一: 右侧固定宽度 左侧自适应  第一种方法:左侧用margin-right,右侧float:right  就可以实现.     HTML代码可以如下写:    <div class="box-left">        <a href="" targ

CSS百分比padding实现比例固定图片自适应布局 (转载)

一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说明,这里不展开. 对于padding属性而言,任意方向的百分比padding都现对于宽度计算可以让我们轻松实现固定比例的块级容器,举个例子,假设现在有个<div>元素: div { padding: 50%; } 或者: di

CSS百分比padding实现比例固定图片自适应布局

本文转自 张鑫宇(大神的很多文章都拜读过,写的很好,清晰明了,赞)的 https://www.zhangxinxu.com/wordpress/2017/08/css-percent-padding-image-layout/ 一.CSS百分比padding都是相对宽度计算的 在默认的水平文档流方向下,CSS margin和padding属性的垂直方向的百分比值都是相对于宽度计算的,这个和top, bottom等属性的百分比值不一样. 这么设计的原因在我的新书(应该不出几个月就要出版了)中会有说

css自适应布局(两列自适应布局+三列左右固定中间自适应+三列中间固定左右自适应)

1.两列自适应 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>demo</title> <style type="text/css" media="screen"> #left{float: left;background: #ccc;height: 40