css基础篇(三)——布局(下)

之所以将浮动,定位归为布局来讲,就是因为css布局技术都依赖于三个基本概念:定位,浮动和空白边的操纵;

1.固定宽度布局

1.1 居中布局

如上图:是pc端比较时髦的居中设计,而实现居中设计的方案有:

1.自动空白实现(如上图)

.main{
	width:1000px;
	marign:0 auto;
}

2.定位和负值空白边

.main{
	positon:relative;
	width:1000px;
	left:50%;
	margin-left:-500px;
}

1.2 多栏布局

如上图:利用float实现的多栏布局,给不同的列定宽,然后使用float(float的使用上篇已有介绍)像左浮动,就可以使每一栏依次有序的排列了

2.流体布局

流体布局,尺寸用的是百分比而不是像素设置的,这使得流体布局能够相对浏览器窗口进行伸缩。

流体布局在窗口很小的时候,行变得非常窄,很难阅读。因此有必要添加min-width,从而防止布局变的太窄

3.弹性布局

弹性布局相对与字号(而不是浏览器宽度)。通过以em为单位设置宽度,可以确保字号增加时整个布局随之扩大。

目前我使用弹性布局主要是在移动端,在说弹性布局前,先说说弹性盒;

3.1 box 和 flex

这两种写法只是对应不同时期的flex规范,各个写法的兼容性如下:

display: -webkit-box;   /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display: -moz-box;      /* Firefox 17- */
display: -webkit-flex;  /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
display: -moz-flex;     /* Firefox 18+ */
display: -ms-flexbox;   /* IE 10 */
display: flex;          /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */

3.2 box 和 flex的属性

(1)定义布局为弹性盒

.flex{
	display:-webkit-box;
	display:-webkit-flex;
	display:flex;
}

(2)定义子元素垂直布局

.flex-v{
	-webkit-box-orient:vertical;
	-webkit-flex-direction:column;
	flex-direction:column;
}

(3)子元素占据剩余的空间

.flex-l{
	-webkit-box-flex:1;
	-webkit-flex:1;
	flex:1;
}

(4)子元素垂直居中

.flex-align-center{
	-webkit-box-align:center;
	-webkit-align-items:center;
	align-items:center;
}

(5)子元素水平居中

.flex-pack-center{
	-webkit-box-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
}

(6)子元素两端对齐

.flex-pack-justify{
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}

!!!兼容性:ios 4+、android 2.3+、winphone8+

时间: 2024-11-05 22:36:26

css基础篇(三)——布局(下)的相关文章

Python基础篇(三)

元组是序列的一种,与列表的区别是,元组是不能修改的. 元组一般是用圆括号括起来进行定义,如下: >>> (1,2,3)[1:2]     (2,) 如果元组中只有一个元素,元组的表示有些奇怪,末尾需要加上一个逗号: >>> (1,2,3)[1:2]     (2,) >>> 3*(3)      9      >>> 3*(3,)      (3, 3, 3) tuple函数 tuple函数用于将任意类型的序列转换为元组: >&

CSS基础篇之了解CSS和它的基本属性

CSS是什么? CSS英文全名是Cascading Style Sheets翻译过来就是层叠样式表,它主是把网页表现与内容分离的一种样式设计语言.这种语言能优化我们编程,把东西简化和优化写法,而且不同的浏览器有不同的CSS前缀 如果你用的是charome和safari,前缀就是-webkit 如果你用的是firefox,前缀是-moz 如果你用的是IE,前缀是-ms 如果你用的是opera,前缀是-o CSS能做什么? CSS简化了以前要使用很多图片和脚本实现的效果,只需几行代码就能搞定.方便了

CSS基础学习三:CSS语法

CSS语法分为基础语法和高级语法. 一CSS 基础语法 (1)CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明,请使用花括号来包围声明. selector {declaration1; declaration2; ... declarationN } 选择器通常是您需要改变样式的 HTML 元素.每条声明由一个属性和一个值组成.属性(property)是您希望设 置的样式属性(style attribute).每个属性有一个值.属性和值被冒号分开. selector {

自定义View时,用到Paint Canvas的一些温故,讲讲用路径绘画实现动画效果(基础篇 三)

转载请注明出处王亟亟的大牛之路 上礼拜上了一篇关于动画的自定义View的文章,然后里面的实现是PathMeasure,然后这一部分貌似以前没有讲过,那么就再补一篇来介绍下这部分的知识(之前一篇的传送门:http://blog.csdn.net/ddwhan0123/article/details/51066859) 直接说有点抽象,我们来看下演示的效果: 动的时候,是这样子 那暂停是这样子 其实这样的实现,一个个坐标增量画然后一直Invalidate也能做,但是写起来太麻烦,PathMeasur

css基础篇(三)——布局(上)float和position

1.定位(position) position的值有:relative/absolute/fixed/static/inherit; static:为position属性的默认值,static元素会遵循正常的文档流,且会忽略top,bottom,left,right等属性; inherit:如同其他css的inherit值,即继承父元素的position值(ie不支持) 下面重点介绍前三个值: 1.1 相对定位(relative) 场景描述(如上图):第二个div的位置相对自己向下向右移动30p

新旅程CSS 基础篇分享一

在上一篇HTML完结篇中,已经给大家对CSS做了一个了解.本片博主将不再赘述,直接进入知识点,归纳总结: 一.CSS 三种书写的方式 嵌入式.外链式.行内式 嵌入式就是将CSS写入在<style></style> 外链式将外面的CSS文件通过HTML中的标记链接过来 <link  rel="stylesheet"  type="text/css"  href="外部CSS文件的地址" /> 行内式:就是将CSS

CSS基础(三)

一.权重问题深入 1.1 同一个标签,携带了多个类名,有冲突: 1 <p class="spec1 spec2">我是什么颜色?</p> 2 <p class="spec2 spec1">我是什么颜色?</p> 和在标签中的挂类名的书序无关,只和css的顺序有关: 1 .spec2{ 2 color:blue; 3 } 4 .spec1{ 5 color:red; 6 } 7 </style> 红色的.因为

css基础篇(一)——浏览器加载和渲染网页

1.介绍 虽然这篇是css笔记,但是做为web开发,天天和浏览器打交道,有必要先理理我目前了解的浏览器加载和渲染页面的过程. 2.页面加载和渲染流程 如图:(该篇重点是css,所以该图重点说明css渲染) 1.重建DOM树:渲染引擎开始解析html文档,转换树中的标签到DOM节点 2.构建渲染树:解析css,根据css选择器找到节点的样式,创建另外一个树———渲染树 3.布局渲染树:从根节点开始,计算出每一个元素的大小和位置 4.绘制渲染树:遍历渲染树将每个节点都绘制出来 整个流程简易描述:用户

CSS 基础篇、绝对有你想要

本章内容: 简介 CSS 定义 四种引入方式 样式应用的顺序 选择器(Selector) * 通用元素选择器 标签选择器 class 类选择器 # ID选择器 , 多元素选择器 后代元素选择器 > 子元素选择器 + 毗邻元素选择器 [] 属性选择器 伪类选择器 常用属性 颜色属性(color .transparent.opacity) 字体属性(font-style. font-weight.font-size. font-family.font) 文本属性(white-space.direct