居中布局

 

水平居中

父元素和子元素的宽度都未知

inline-block + text-ailgn

.child{display:inline-block;}

.parent{text-align:center;}

优点:兼容性好

缺点:子元素文本继承了text-align属性,子元素要额外加text-align:left;

table + margin

.child{display:table; margin:0 auto;}

优点:只需要设置子元素的样式

absolute + transform

.parent{position:relative;}

.child{position:absolute; left:50%; transform: translateX(-50%);

优点:居中子元素不会对其他元素产生影响

缺点:transform是CSS3的属性,存在兼容性问题

flex + justify-content

.parent{display:flex; justify-content:center;}

优点:只需要设置父元素的样式

缺点:兼容性问题

flex + margin

.parent{display:flex;}

.child{margin:0 auto;}

 

垂直居中

父容器和子容器的高度都未知

table-cell + vertical-align

.parent{display:table-cell; vertical-align:middle;}

优点:兼容性好

absolute + transform

.parent{position:relative;}

.child{position:absolute; top:50%; transform:translateY(-50%);}

优点:子元素不会干扰其他元素

缺点:兼容性

flex + align-item

.parent{display:flex; align-items:center;}

优点:只需要设置父元素

缺点:兼容性问题

水平垂直居中

父容器和子容器的高度都未知

inline-block + text-align + table-cell + vertical-align

.parent{text-align:center; display:table-cell; vertical-align:middle;}

.child{display: inline-block;}

absolute + transform

.parent{position:relative;}

.child{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}

flex + justify-content + align-item

.parent{display:flex; justify-content:center; align-items:center;}

多列布局

定宽-自适应

float+margin

.left{float:left; width:100px;}

.right{margin-left:120px;}

float+margin+fix

<div class="left"></div>

<div class="right-fix">

<div class="right"></div>

</div>

外层在包裹一个容器

.left{float:left; width:100px; position: relative;}

.right-fix{float:right; width:100%; margin-left:-100px;}

.right{margin-left:120px;}

兼容性很好,但是多了层right-fix的结构

float+overflow

.left{float:left; width:100px; margin-right: 20px;}

.right{overflow:hidden;

table

.parent{display:table; width:100%; table-layout:fixed;}

.left,.right{display:table-cell;}

.left{width:100px; padding-right:20px;}

flex

.parent{display:flex;}

.left{width:100px; margin-right:20px;}

.right{flex:1;}

不定宽-自适应

float + overflow

.left{float:left; margin-right:20px;}

.right{overflow:hidden;}

table

.parent{display:table; width:100%;}

.left,.right{display:table-cell;}

.left{width:0.1%; padding-right:20px;}

flex

.parent{display:flex;}

.left{margin-right:20px;}

.right{flex:1;}

160818、CSS页面布局笔记的更多相关文章

  1. CSS 页面布局、后台管理示例

    CSS 页面布局.后台管理示例 页面布局 1.头部菜单 2.中间内容/中间左侧菜单 3.底部内容 <div class='pg-header'> <div style='width: ...

  2. css页面布局

    写在前面: 页面布局整体上可以分为两类:固定宽度(一般固定960px):流式布局:将流式布局转换为固定布局很容易,只需要外围再包括一个div,为其设置宽度即可. html默认的布局方式是将每个块状标签 ...

  3. CSS页面布局常见问题总结

    在前端开发中经常会碰到各种类型布局的网页,这要求我们对css网页布局非常熟悉.其中水平垂直居中布局,多列布局等经常会被使用到,今天就来解决一下css布局方面的问题. 水平垂直居中的几种方法 说到水平垂 ...

  4. css页面布局总结

    W3C标准:是万维网制定的一系列标准,包括结构化标准语言(html.xml),表现 标准语言(css),行为标准语言(DOM,ECMAScript<javascript>)组成.这个标准倡 ...

  5. CSS页面布局与网格(上)

    1.布局规划 1.1 网格 网格系统是设计师在切分布局时作为参照的一组行和列. 1.2 布局辅助类 类名用于为布局添加样式.为了让样式可以重用,让类名表达其意图. .column { /* 一般列的样 ...

  6. 第6天:DIV+CSS页面布局实战

    今天我从早上9:00写代码一直写到下午18:00,写的我差点抑郁了,还好最后终于写出了一个完整页面,没有做动画效果,就是练习了一下DIV+CSS布局,做的是福务达(www.zzfwd.cn)的主页,真 ...

  7. 一、CSS概述 二、CSS的选择器(认识) 三、CSS样式和属性(练习) 四、重构商城首页DIV+CSS(页面布局)(重点) 浮动/更改显示方式

    一.CSS概述###<1>概念 DIV,就是一个HTML元素,块级元素,通常结合CSS进行页面的布局. CSS,层叠样式表,给HTML元素增强显示. ###<2>作用 样式定义 ...

  8. 3种常见的CSS页面布局--双飞翼布局、粘连布局、左右两列布局

    一.左右两列布局 1.代码如下,可先粘贴复制,自行运行 <!DOCTYPE html><html> <head> <meta charset="UT ...

  9. dic+css页面布局分享

    HTML部分代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

随机推荐

  1. MPTCP 源码分析(四) 发送和接收数据

    简述:      MPTCP在发送数据方面和TCP的区别是可以从多条路径中选择一条 路径来发送数据.MPTCP在接收数据方面与TCP的区别是子路径对无序包 进行重排后,MPTCP的mpcb需要多所有子 ...

  2. Android-LinearLayout布局技巧(一)

    先看2张图 一.5.1寸 二.3.7寸 三.代码 <?xml version="1.0" encoding="utf-8"?> <Linear ...

  3. 一种大气简单的Web管理(陈列)版面设计

    在页面的设计中,多版面是一种常见的设计样式.本文命名一种 这种样式.能够简单描写叙述为一行top,一列左文件夹,剩余的右下的空间为内容展示区.这种样式,便于高速定位到某项内容或功能. 在主要的HTML ...

  4. T420s成功加装固态硬盘(SSD)

    目的 为了提升系统和经常使用工具的启动速度,ThinkPad T420s光驱位加一块固态硬盘. 操作步骤 购买:没做太多对照了解,初步计划是安装在光驱位,直接JD上买了SanDisk的128G和推荐的 ...

  5. Python基础--人们一些最爱的标准库(random time)

    Python继续! random 包括返回随机数的函数. 这里跟C++一样,产生的是伪随机数,并非全然随机数. random中一些重要的函数: random() 返回0<n<=1的随机数n ...

  6. map方法,以及filter方法的使用

    map()方法,会返回一个 jQuery 封装的数组, 这个数组不能直接使用,需要使用 get() 来处理返回的对象以得到基础的数组. 例子: <!DOCTYPE html> <ht ...

  7. Fiddler-常用技巧

    1.详情面板 1).Inspectors 标签栏进行请求和响应结果分析 2).AutoResponder 对匹配 URL 进行自动返回, 可以使用字符.URL.正则表达式 3).Composer 模拟 ...

  8. 更改字段、添加字段脚本以及sql回滚

    --修改字段名称 EXEC sp_rename '[dbo].[SysMenu].[Type]', 'Position', 'COLUMN' --添加字段 alter table [dbo].[Age ...

  9. rtp协议详解/rtcp协议详解

    转自:http://www.cnblogs.com/li0803/archive/2010/11/20/1882792.html 1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应 ...

  10. SGU180:Inversions(树状数组)

    There are N integers (1<=N<=65537) A1, A2,.. AN (0<=Ai<=10^9). You need to find amount o ...