css 常用的几种垂直居中(包括图片)
我知道现在有非常多的水平垂直居中的写法,我就写一些我自己常用的方法,同时说明一下优缺点
<div class="wrapper">
<div class="item"></div>
</div> .wrapper{width:200px;height:200px;}
.item{width:100px;height:100px;}
1 `position tranform
.wrapper{position:relative}
.item{position:absolute;top:50%;transform:translateY(-50%);}
优点:item不需要定死高度
缺点:transform需要兼容一下;不过现在transform兼容性还好
2 `position margin
.wrapper{position:relative}
.item{position:absolute;top:50%;margin-top:-50px;}
优点:兼容性好,
缺点:item需要定死高度,因为margin-top需要反方向移动自身高度的一半
3 `position margin
.wrapper{position:relative}
.item{position:absolute;top:0;bottom:0;margin:auto;}
优点:兼容性好,也不需要定高;
4 `display:inline-block ;line-height;vertical-align:middle;
.wrapper{line-height:200px;}
.item{display:inline-block;vertical-align:middle;}
优点:兼容性好,也不需要定高;需要将block变为inline-block
vertical-align:一般都用在子元素上;
5` flex align-items justify-content
.wrapper{display:flex;justify-content:center;aligin-items:center}
优点:全部写在父元素上,不定高,移动端高效;
6` flex margin
.wrapper{display:flex;}
.item {margin:auto}
优点:不定高,移动端高效;
总结一下:我一般都是用第五或者第六种写法,现在flex布局的浏览器支持越来越广泛了,而且这样布局的话,有几个好处:
1 不需要考虑子元素的本身的height和width,容易复用,特别是写UI组件的时候
2 不需要顾及子元素本身是块状元素还是内联元素还是内联块状元素(例如图片),它都可以居中
注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
css 常用的几种垂直居中(包括图片)的更多相关文章
- [No000016A]CSS常用三种选择器
1.HTML Tag p{color:red;} 2.id #myid{color:red;} 3.class .myclass{color:red;} CSS常用文本样式属性 color font- ...
- CSS3与页面布局学习总结(四)——页面布局大全BFC、定位、浮动、7种垂直居中方法
目录 一.BFC与IFC 1.1.BFC与IFC概要 1.2.如何产生BFC 1.3.BFC的作用与特点 二.定位 2.2.relative 2.3.absolute 2.4.fixed 2.5.z- ...
- css常用代码大全以及css兼容(转载)
css常见的快捷开发代码汇总(长期更新),包括CSS3代码,有一些css效果很顽固,经常会一时找不出解决方案,网络上也有很多的工具和高手提供了具体的浏览器兼容代码,这个页面我今后会经常整理,希望能够帮 ...
- css确定元素水平居中和垂直居中
---恢复内容开始--- 首先,我们在了解如何通过css了解元素水平和垂直居中之前,先要了解下html都有哪些元素,这些元素与偶有哪些分类,因为不同类别的元素的水平垂直居中方法是完全不同的,究其根本当 ...
- (转载)CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法
目录 一.BFC与IFC 1.1.BFC与IFC概要 1.2.如何产生BFC 1.3.BFC的作用与特点 二.定位 2.2.relative 2.3.absolute 2.4.fixed 2.5.z- ...
- CSS 常用语法与盒模型分析
CSS基础知识 CSS规则由两个主要的部分构成:选择器,以及一条或者多条声明 selector { property: value; property: value; ... property: va ...
- Web前端篇:CSS常用格式化排版、盒模型、浮动、定位、背景边框属性
目录 Web前端篇:CSS常用格式化排版.盒模型.浮动.定位.背景边框属性 1.常用格式化排版 2.CSS盒模型 3.浮动 4.定位 5.背景属性和边框属性 6.网页中规范和错误问题 7.显示方式 W ...
- 【原】实时渲染中常用的几种Rendering Path
[原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...
- CSS常用样式及示例
CSS常用样式及示例 一.简介 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集) ...
随机推荐
- 08-01 java 帮助文档的制作和使用,使用jdk提供的帮助文档
01_帮助文档的制作和使用 制作说明书的流程 如何制作一个说明书呢? A:写一个工具类 B:对这个类加入文档注释 怎么加呢? 加些什么东西呢? C:用工具解析文档注释 javadoc工具 D:格式 j ...
- MySQL 5.5主从复制(Replication)
简介 MySQL的主从复制(Replication),可以保持两台MySQL数据库的内容一致.因为其同步过程是异步的,所以备份数据库上做任何操作,都不会影响主数据库的性能.对游戏后台数据库而言,这是一 ...
- tensorflow学习总结之reduce_sum函数
tensorflow里面集成了许多基于统计的数学函数,类似于reduce_sum,reduce_mean,reduce_min,reduce_max,等,根据字面意思分别是求和,求平均,求最大,求最小 ...
- Java 内存分配及垃圾回收机制初探
一.运行时内存分配 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域. 这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则 ...
- java+selenium+maven+testng框架(一)安装搭建
1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...
- C语言版 Hello World
C语言的Hello World 程序, 需要引入 <stdio.h> 头文件,输出使用 printf()方法: #include <stdio.h> int main() { ...
- Java NIO系列教程(三) Buffer
Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的.交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被 ...
- Java 容器源码分析之HashMap多线程并发问题分析
并发问题的症状 多线程put后可能导致get死循环 从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题.后来,我们的程序性能有问题,所以需要变成多 ...
- Bean Validation规范
以下内容转载自:https://www.ibm.com/developerworks/cn/java/j-lo-beanvalid/ Bean Validation规范介绍 JSR303 规范(Bea ...
- Netty 心跳服务之 IdleStateHandler 源码分析
前言:Netty 提供的心跳介绍 Netty 作为一个网络框架,提供了诸多功能,比如我们之前说的编解码,Netty 准备很多现成的编解码器,同时,Netty 还为我们准备了网络中,非常重要的一个服务- ...