CSS未知宽高元素水平垂直居中

方法一 :table、cell-table

思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中
优点:父元素(parent)可以动态的改变高度(table元素的特性)
缺点:IE8以下不支持

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>.parent1{display: table;height:300px;width: 300px;background-color: #FD0C70;
}
.parent1 .child{display: table-cell;vertical-align: middle;text-align: center;color: #fff;font-size: 16px;
}</style>
<body><div class="parent1"><div class="child">hello world-1</div></div>
</body>
</html>

 

方法二:

思路:使用一个空标签span设置他的vertical-align基准线为中间,并且让他为inline-block,宽度为0
缺点:多了一个没用的空标签,display:inline-blockIE 6 7是不支持的(添加上:_zoom1;*display:inline)。
当然也可以使用伪元素来代替span标签,不过IE支持也不好,但这是后话了

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent2{height:300px;width: 300px;text-align: center;background: #FD0C70;
}
.parent2 span{display: inline-block;;width: 0;height: 100%;vertical-align: middle;zoom: 1;/*BFC*/*display: inline;
}
.parent2 .child{display: inline-block;color: #fff;zoom: 1;/*BFC*/*display: inline;
}</style>
<body><div class="parent1"><div class="child">hello world-1</div></div><div class="parent2"><span></span><div class="child">hello world-2</div></div>
</body>
</html>

 

方法三:绝对定位

思路:子元素绝对定位,距离顶部 50%,左边50%,然后使用css3 transform:translate(-50%; -50%)
优点:高大上,可以在webkit内核的浏览器中使用
缺点:不支持IE9以下不支持transform属性

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent3{position: relative;height:300px;width: 300px;background: #FD0C70;
}
.parent3 .child{position: absolute;top: 50%;left: 50%;color: #fff;transform: translate(-50%, -50%);
}
</style>
<body>
<div class="parent3"><div class="child">hello world-3</div></div>
</body>
</html>

方法四:弹性盒子flex

思路:使用css3 flex布局
优点:简单 快捷
缺点:兼容不好吧,详情见:http://caniuse.com/#search=flex

 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>未知宽高元素水平垂直居中</title>
</head>
<style>
.parent4{display: flex;justify-content: center;align-items: center;width: 300px;height:300px;background: #FD0C70;
}
.parent4 .child{color:#fff;
}
</style>
<body>div> <div class="parent4"><div class="child">hello world-4</div></div>
</body>
</html>

 

 

 

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

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

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

相关文章

在java web工程中jsp页面中使用kindeditor

在这之前我们用Notepad写过kindeditor 在Java web工程里也差不多 首先我们复制之前的thml代码粘贴到工程里 然后把样式也复制进去 然后就可以运行了 转载于:https://www.cnblogs.com/q2546/p/11066539.html

数据分析方法论

把零散的报表整成数据监控体系 把每次拍脑袋的评估整成数据考核体系 在推荐、广告等算法上有所突破&#xff0c;而不是自己瞎捣鼓个没人看的聚类分析 在推送响应等有业绩的地方产出产品&#xff0c;而不是每次用时间序列法预测个销量走势再被业务喷回来。 分析自己的现状&am…

链接服务器

使用sql-server进行分布式查询&#xff08;链接服务器&#xff09; 可以使用sql-server企业管理器进行建立&#xff0c;注意其中的rpc及rpc out两项&#xff0c;也可以使用sql语句来完成定义&#xff0c;主要涉及到三个存储过程sp_addlinkedserver&#xff0c;sp_serveroption和…

mysql表级别的操作_MySql 库/表级操作 及 数据类型 - 纪宇

数据库分类关系型数据库(SQL)&#xff1a;存储方式固定&#xff0c;安全非关系型数据库(NoSQL)&#xff1a;存储方式比较灵活&#xff0c;存储数据的效率比较高&#xff0c;不太安全MySQL是一种关系型数据库管理系统(采用关系模型来组织管理数据的数据库系统)注意事项大小写&am…

具有Java 8支持的Spring Framework 4.0.3和Spring Data Redis 1.2.1

Spring Framework 4.0.3 正如Spring社区宣布的那样&#xff0c;Spring Framework 4.0.3现在可用。 它是上周Java 8发布后框架的第一个版本&#xff0c;因此它是使用OpenJDK 8 GA构建的&#xff0c;并包含最新的ASM 5.0.1。 Spring Framework 4.0.3为WebSockets带来了重要的增强…

Markdown的使用笔记

Markdown的使用笔记 Markdown在我看是一种使用几种标记符号就可以完成清晰排版的一种标记语言&#xff0c;是写笔记文章的一大利器&#xff0c;使用简单、方便&#xff0c;上手快&#xff0c;而且可以很好的兼容html&#xff0c;即html中的标签在markdown中也同样试用。这边文章…

多项式孤儿桶

巨佬制作人们大家好&#xff0c;我是练习多项式两周半的个人练习生lgl。这里总结一下多项式基本操作。 1.多项式加、减、输出 不说了。 时间复杂度$O(n)$。 2.多项式取模 已知多项式$F(x)$&#xff0c;求它对$x^n$取模。 人话&#xff1a;把$n$次及以上的系数清零。 时间复杂度…

焦头烂额

好久没有蹭公司的饭了&#xff0c;今天堕落了一把&#xff0c;和师弟师妹们一起蹭饭&#xff0c;唉&#xff0c;事情有点多&#xff0c;不知道干哪个好&#xff0c;后天回家&#xff0c;感觉GF好像不大愿意&#xff0c;虽然表面没说。。。 转载于:https://www.cnblogs.com/leol…

python亲密度_Python OpenCV 图像2D直方图,取经之旅第 25 天

Python OpenCV 365 天学习计划&#xff0c;与橡皮擦一起进入图像领域吧。基础知识铺垫在之前的博客中&#xff0c;我们获取图像直方图的方式都是获取一维直方图&#xff0c;简单说就是只获取一个通道的特征&#xff0c;例如灰度&#xff0c;B 通道&#xff0c;R 通道。今天要学…

Spring MVC,Thymeleaf,Spring Security应用程序中的CSRF保护

跨站点请求伪造&#xff08;CSRF&#xff09;是一种攻击&#xff0c;它迫使最终用户在当前已通过身份验证的Web应用程序上执行不需要的操作。 如果您使用Spring Security 3.2及更高版本&#xff0c;在Spring MVC / Thymeleaf应用程序中防止CSRF攻击相当容易。 怎么测试&#x…

清除浮动的方式

1、父级div定义伪类&#xff1a;after和zoom <style type"text/css"> .div1{background:#000080;border:1px solid red;}.div2{background:#800080;border:1px solid red;height:100px;margin-top:10px}.left{float:left;width:20%;height:200px;background:#D…

centos7 samba配置完成后不管怎么登陆都会显示密码错误的解决方案

添加系统用户 useradd samba 添加samba用户 smbpasswd -a samba 激活samba用户 smbpasswd -e samba 1.winr运行secpol.msc打开本地安全策略 2.安全策略->本地策略->安全选项 3.右侧找到 网络安全:LAN管理器身份验证级别 打开 &#xff0c;选择 仅发送NTLMv2响应&#xf…

rabbitmq简单运用

<?php /*** 生产者*/$connection new AMQPConnection([host > 192.168.23.130,port > 5672,login > rabuser,password > 123456 ]);$connection->connect() or die(连接失败);try{$exchange_name trades;$route_key /trade;//投递消息到中间件$channel …

JPDL3.1规范手册

JPDL3.1规范手册jBPM业务程序定义语言&#xff08;jBPM Process Definition Language (JPDL)&#xff09;Blog: http://blog.csdn.net/shendl/2006-10-13前言&#xff1a;这是jBPM3.1指南第16章的翻译。但不仅仅是简单的翻译而已。其中加入了我对jBPM的JPDL规范和技术的理解。我…

py函数两个返回值_Python 函数为什么会默认返回 None?

Python 有一项默认的做法&#xff0c;很多编程语言都没有——它的所有函数都会有一个返回值&#xff0c;不管你有没有写 return 语句。本文出自“Python为什么”系列&#xff0c;在正式开始之前&#xff0c;我们就用之前讨论过的 pass语句和 …对象 作为例子&#xff0c;看看 P…

Apache CXF 3.0:JAX-RS 2.0和Bean验证1.1最终一起

即将发布的出色的Apache CXF框架3.0版 &#xff08;当前处于里程碑2阶段&#xff09;带来了许多有趣且有用的功能&#xff0c;越来越接近提供完整的JAX-RS 2.0支持。 Bean Validation 1.1的支持是我们中许多人期盼已久的功能之一&#xff1a;简单而简洁的模型可为您的REST服务层…

windows.onload和body的onload属性的区别

关于windows.onload和body的onload属性的区别网上有些说法说的也不太统一,现在系统说下: 先看共同点: 都是body内容体加载结束执行&#xff1b; window.onload 内部方式可以 推荐的 body onload属性&#xff1a; 内联或者内嵌方式可以&#xff0c; 内部也可以 首先,这两个onlo…

行高 line-height

一、行高的定义line-height(行高)&#xff1a;两行文字基线之间的距离1、什么是基线&#xff1f;2、为何是基线&#xff1f;3、需要两行吗&#xff1f;1、什么是基线&#xff1f;我们上学的时候都用过&#xff0c;抄写英文字母的时候。其中有一条红线&#xff0c;这个红线就是基…

实验七报告

一、实验结论 part1&#xff1a;验证性实验 1.验证性实验2 如果事先不知道学生人数&#xff0c;尝试对line29做如下修改后&#xff0c;程序运行结果是否正确&#xff1f;回答问题&#xff0c;并给出运行结果截图。 运行结果正确// 将file1.txt中小写字母转换成大写后&#xff…

Lambda表达式和流API:基本示例

该博客文章包含基本Lambda表达式和Stream API示例的列表&#xff0c;我在2014年6月在Java用户组– Politechnica Gedanensis &#xff08;格但斯克技术大学&#xff09;和Goyello的实时编码演示中使用了这些示例。 Lambda表达式 句法 最常见的示例&#xff1a; Runnable runn…