css页面布局

居中布局

 

水平居中

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

 

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;}

 

转自: https://segmentfault.com/a/1190000003113119

作者: phank

转载于:https://www.cnblogs.com/-ding/p/6022720.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457674.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

02_JS变量

JS变量 字面量 常量&#xff0c;不可变量 变量 变量用 var 变量名声明 命名 变量命名以数字字母下划线和$组成&#xff0c;不能以数字开头&#xff0c;还可以是utf-8的任意字符&#xff0c;包括中文&#xff0c;一般采用驼峰命名法 常用的几个函数 alert():浏览器弹窗d…

Rotate String

Given a string and an offset, rotate string by offset. (rotate from left to right) Example Given "abcdefg". offset0 > "abcdefg" offset1 > "gabcdef" offset2 > "fgabcde" offset3 > "efgabcd"分析&am…

音视频播放、录音、拍照

音频 在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放&#xff0c;通常作为点缀音频&#xff0c;对于这类音频不需要进行进度、循环等控制。后者指的是一些较长的音频&#xff0c;通常是主音频&#xff0c;对于这些音频的播放通常需要进行精…

python 递归函数与循环的区别_提升Python效率之使用循环机制代替递归函数

斐波那契数列当年&#xff0c;典型的递归题目&#xff0c;斐波那契数列还记得吗&#xff1f;def fib(n):if n1 or n2:return 1else:return fib(n-1)fib(n-2)当然, 为了程序健壮性&#xff0c;加上try...except...def fib(n):if isinstance(n, int):print(兄弟,输入正整数哈)ret…

03_JS数据类型

JS数据类型 基本数据类型 String 字符串类型&#xff0c;申明时用单引号或双引号引起来&#xff0c;两种引号不可嵌套&#xff0c;不可混用 Number 数值型&#xff0c;有两个特殊的数字 Infint:无穷大NaN&#xff1a;非数值型数字&#xff0c;不与任何类型相等 Boolean …

7.5

姓名 崔巍 时间 2016年7月5日 学习内容 最后一次确定同步控制力度等实现细节。 学习了Visual Studio C#软件测试方面的工具。巩固了等价类黑盒测试方法的相关理论&#xff0c;并且学习了集成测试、回归测试的相关内容&#xff0c;并进行了测试。 集成测试&#xff0c;…

python scratch ev3_如何在scratch上连接乐高ev3?

乐高教育的官网有关于EV3使用Python的详细介绍https://education.lego.com/zh-cn/support/mindstorms-ev3/python-for-ev3​education.lego.com来自网易有道Scratch是现在小朋友们最热的编程工具&#xff0c;也是各学校和培训机构对小学生编程的入门首选。网易有道Kada平台是一…

04_JS运算符

JS运算符 一元运算符 -,正负号&#xff0c;对非数值类型做正负操作会先转换成数值型&#xff0c;可以用快速进行类型转换 逻辑运算符 且 &&&#xff0c;从左到右看&#xff0c;一旦返现值为false的表达式立刻返回false&#xff0c;全真为真或 ||&#xff0c;从左到右…

C语言 第八章 函数、指针与宏

一、函数 函数是一个包含完成一定功能的执行代码段。我们可以把函数看成一个"黑盒子", 你只要将数据送进去就能得到结果, 而函数内部究竟是如何工作的的, 外部程序是不知道的。外部程序所知道的仅限于输入给函数什么以及函数输出什么。函数提供了编制程序的手段,使之…

ByteBuffer用法小结

在NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲区.缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型.ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且信道…

promise用法_Promise的秘密

写在前面本篇文章将会带大家从分解promise入手&#xff0c;一步步实现一个promise。但阅读之前需要比较熟练地了解了解用法&#xff0c;结合用法看文章可能更容易理解。结构先看一下简单的用法。const promise new Promise((resolve, reject) > {setTimeout(() > {resol…

SpringMVC视图解析器(转)

前言 在前一篇博客中讲了SpringMVC的Controller控制器&#xff0c;在这篇博客中将接着介绍一下SpringMVC视图解析器。当我们对SpringMVC控制的资源发起请求时&#xff0c;这些请求都会被SpringMVC的DispatcherServlet处理&#xff0c;接着Spring会分析看哪一个HandlerMapping定…

05_JS流程控制语句

JS流程控制语句 顺序结构 选择结构 if-else语句 var aprompt(); var bprompt(); var cprompt(); if(a && b || c){alert(); }else if(a || b || c){alert(); }else{alert(); }条件分支语句 var aprompt(); switch(a){case 1:alert("1");break;case 2:al…

ForkJoinPool 学习示例

在JAVA7之前&#xff0c;并行处理数据非常麻烦。第一&#xff0c;你得明确把包含数据的数据结构分成若干份。第二&#xff0c;你要将每个子部分分配给一个独立的线程。第三&#xff0c;你要在恰当的时候对它们进行同步避免不希望的竞争条件&#xff0c;等待所有线程完成&#x…

python深入_Python深入(上)

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01;到现在为止&#xff0c;Python学习已经可以告一段落。下面的部分&#xff0c;我想讨论Python的高级语法和底层实现。这一部分的内容并不是使用Pyt…

06_JS对象

JS对象 创建对象 构造函数&#xff1a;var obj new Object()对象字面量&#xff1a;var obj {}; 不同&#xff1a;对象字面量可以在创建的同时为对象设置属性&#xff0c;最后一个属性后面不要加逗号 对象操作 添加属性&#xff1a;对象名.新属性名 值修改属性&#xf…

BZOJ4107 : [Wf2015]Asteroids

首先将速度相减&#xff0c;变成A在动而B不动&#xff0c;若速度为0则显然永远不会相交。 枚举A的每个点以及B的每条线段&#xff0c;计算这三个点共线的时刻。 将时刻排序&#xff0c;对于每个区间进行三分&#xff0c;用半平面交计算相交面积。 注意特判相交面积为0但是存在交…

Web Service 性能测试工具比较

背景 希望选择一款Web Service性能测试工具&#xff0c;能真实模拟大量用户访问网站时的请求&#xff0c;从而获取服务器当前的请求处理能力&#xff08;请求数/秒&#xff09;。以微信服务器为例&#xff0c;每个用户用独立的登录token&#xff0c;做各种操作&#xff0c;比如…

python中的常量是什么意思_第14p,Python中的常量与注释。

大家好&#xff0c;我是杨数Tos&#xff0c;这是《从零基础到大神》系列课程的第14篇文章&#xff0c;第二阶段的课程&#xff1a;Python基础知识&#xff1a;常量与注释。学习本课程&#xff0c;建议先看一遍&#xff1a;【计算机基础知识】课程。一、Python中的常量1、什么是…

07_JS函数

JS函数 函数声明 使用构造函数 var fun new Function();使用关键字 function 函数名(形参){// 函数体 }匿名函数 var fun1 function(){name "fun1" }函数参数 实参&#xff0c;形参都可以是任意数据类型&#xff0c;浏览器执行时不会检查实参类型和数量&…