居中布局

 

水平居中

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

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. spring-boot-redis-cluster简单整合例子

    代码地址如下:http://www.demodashi.com/demo/13184.html 一.前言 spring-boot项目整合redis很常见,Redis 一般上生产的时候都是以集群模式部署 ...

  2. Tony zhao:到底怎么样才叫看书?

    http://blog.jobbole.com/25842/ 目录: 一.引入 二.经历了就能理解 三.读书要分级 四.只读经典 五.别吝惜你动笔的那点时间 一.引入 看到这个题目的时候你可能会感到有 ...

  3. spring实现定时任务

    今天在项目里需要实现一个定时任务,每隔3个小时将过滤的广告通过邮件上报给运营一次.考虑了一下,从实现的技术上可以有三种做法: 1.Java自带的java.util.Timer类,这个类允许调度一个ja ...

  4. 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1

    主要升级步骤如下: 将 .csproj 项目文件中的 target framework 改为 netcoreapp2.1 <TargetFramework>netcoreapp2.1< ...

  5. Linux的Samba服务器

    1.samba服务器概述 Samba最先在Linux和windows两平台之间架起一座桥梁,正是由于samba的出现,我们可以在Linux系统和Windows系统之间相互通信,比如拷贝文件,实现不同操 ...

  6. Redis之持久化和主从同步

    Redis作为内存数据库,所有数据都保存在内存中, 一旦程序停止工作, 数据都将丢失. 需要我们重新从其他地方加载数据. 不过Redis提供了两种方式保存Redis中的数据一种是dump内存直接存入r ...

  7. 美团HD(9)-监听点击城市

    DJSelectCityViewController.h // 点击城市发出通知 - (void)tableView:(UITableView *)tableView didSelectRowAtIn ...

  8. InputArray和OutputArray

    源码路径:~/opencv-2.4.9/modules/core/include/opencv2/core/core.hpp where _InputArray is a class that can ...

  9. 从零开始学习SSH框架笔记之四 几个关键配置文件备忘(模板)

    不多说,直接上代码.关于注释我尽量写详细点. 1.web.xml <?xml version="1.0" encoding="UTF-8"?> &l ...

  10. Unix环境高级编程(一)

    Unix基础知识1.引言2.Unix体系结构3.登陆4.文件和目录5.输入和输出6.程序和进程7.出错和处理8.用户标示9.信号10.时间值11.系统调用和库函数12.小结