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(标准通用标记语言的一个子集) ...
随机推荐
- webgl之观察三维空间
在之前的教程中,我们已经接触到了3d的基本应用,而这里,将会继续介绍两种不同的相机,即透视相机和正投影相机:还会学习设置相机的不同参数,这样就可以使场景以不同的角度显示出来. 一.正投影和透视投影概念 ...
- Numpy 常用矩阵计算函数
基本属性 在做一些数据分析的时候,我们通常会把数据存为矩阵的形式,然后python本身对于矩阵的操作是不够的,因此出现了numpy这样一个科学开发库来进行python在次上面的不足. Numpy's ...
- -webkit-CSS属性拾遗
-webkit-input-placeholder 这个伪类用于设置输入框placeholder文字的样式,基本可以设置例子如下: input::-webkit-input-placeholder { ...
- Git和Gitlab协同工作
1.概述 在写这篇博客之前,为了更好的描述整个流程,本人亲自尝试了:从搭建到使用,下面就围绕这个流程来阐述整个过程,目录结构如下所示: Git的安装搭建 Git的常规操作 Gitlab的搭建 Gitl ...
- Jdbc Url 设置allowMultiQueries为true和false时底层处理机制研究
一个mysql jdbc待解之谜 关于jdbc url参数 allowMultiQueries 如下的一个普通JDBC示例: String user ="root"; Strin ...
- 和我一起打造个简单搜索之ElasticSearch入门
本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...
- JSONPath解析
访问我的博客 前言 在工作中,经常会遇到从一串 JSON 中提取一个或多个字段的情况,常用的做法就是将其反序列化为 JSONObject 对象,然后从对象中获取,如果是 JSONArray 就进行迭代 ...
- 微信小程序开发语言的选择
微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...
- 小程序获取地址授权的修改 wx.openSetting需点击
开发者可以通过 wx.openSetting 接口来打开小程序设置界面并返回用户的设置结果.在原来的 wx.openSetting 接口中,我们允许开发者直接调用此接口,但目前我们发现有不少开发者滥用 ...
- zuul超时及重试配置
配置实例 ##timeout config hystrix: command: default: execution: timeout: enabled: true isolation: thread ...