关于text-align无法居中的问题
昨天项目,一直出现一个无法居中的问题,最后发现竟然是text-align的问题,才发现自己对text-align的理解还是不够透彻,于是在此再举例分析下。
css中的元素一共有三类:块元素、行内块和内联元素。
三者的区别就是:
块元素可以设置宽高,会独占一行;
行内块拥有块元素的所有特性,除了无法独占一行;
内联元素无法设置宽高,不会独占一行。
而text-align的作用就是:可以为文字和内联元素、行内块设置水平居中,即使该文字是在块元素内。
以下是例子:
以下是html代码:
<div class="wrapper">
<img src="img/2.png"/><br>
<span>这是span内联元素中的文字</span>
<div>这是块元素div中的文字</div>
</div> <ul>
<li class="wrapper">
<span class="span"></span>
<div class="div"></div>
<span class="span2">
我是行内块元素,是有文字的span
</span><br>
<div class="div2">我也是行内块元素,是div</div><br>
<span class="span2"></span><br>
<div class="div2"></div><br>
</li>
</ul>
以下css代码:
.wrapper {
width: 500px;
border: 1px solid black;
margin: 0 auto;
text-align: center;
}
.span {
display: block;
width: 50px;
height: 50px;
background: #bac;
}
.div {
width: 50px;
height: 50px;
background: hotpink;
}
.span2 {
display: inline-block;
width: 150px;
height: 50px;
background: #bac;
}
.div2 {
display: inline-block;
width: 150px;
height: 50px;
background: hotpink;
}
以下是显示的示例:

所以,当使用text-align时,一定要注意,只能对文字(包括块元素中的文字)、内联元素和行内块进行水平居中,对块是没有用的。
注: 若对脱离文档流(比如position:absolute)的块元素水平居中,可对要求水平居中的块元素使用: left: 50%; transform: translateX(-50%);(有浏览器兼容性,需全部写上)
关于text-align无法居中的问题的更多相关文章
- 关于让input=text,checkbox居中的解决方法
1.type="text"时一般浏览器与IE6在高度上相差2px,并且内容会显示在左上方.解决办法有两种:1.input框的高度不设置,但要设置padding值 2.不设置padd ...
- C# Listview 第一列不能居中
/********************************************************************** * C# Listview 第一列不能居中 * 说明: ...
- css 居中,中央
在我的技巧里,有4中居中中央的方法: 1.position:absolute; top:50%;left:50%; margin : -x 0 0 -x; 这是绝对定位的方法,通过算法移动,坏处就是必 ...
- Flutter 布局(二)- Padding、Align、Center详解
本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Padding A widget that insets ...
- Flutter学习笔记(22)--单个子元素的布局Widget(Container、Padding、Center、Align、FittedBox、Offstage、LimitedBox、OverflowBox、SizedBox)
如需转载,请注明出处:Flutter学习笔记(22)--单个子元素的布局Widget(Container.Padding.Center.Align.FittedBox.Offstage.Limited ...
- __attribute__ ((section(".text")))的测试
一.测试原因 在学习u-boot的环境变量过程中,看到有如此的代码,现对涉及到的内容进行实验测试. 二.测试目的 1.了解gcc允许对段的属性进行更改的方法. 2.解决”ENV_IS_EMBEDDED ...
- Extjs Vbox布局方式,以及align种类,flex,pack属性含义简介
VBox布局方式,熟悉下一下几个主要属性: 一.align:字符类型,指示组件在容器内的对齐方式.这个是基于容器的左上角来排列的.pack不同,pack是根据容器的最上边来显示的. 1.left(默认 ...
- 文字和图片居中的HTML代码怎么写?
HTML 代码 ,怎么将文本/ 图片居中?这是在W3Cschool的编程问答中前端♌蕾儿提出的问题.网友施主同西否给出了详细的解答. html文字居中和html图片居中方法代码,通过在html中实现文 ...
- java_Excel 导出
package Demo; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; i ...
- html狂记
由于承接一部分站点优化工作,竟无节操地好几天没有喂博客,好了,今天完成交接工作,马上奉上DIV+CSS传统开发的干货一枚,内容绝非原创,仅是收集.学习.消化.总结.吐出... 基本结构标签: < ...
随机推荐
- Meta 的两个 相关属性
Meta标签中的apple-mobile-web-app-status-bar-style属性及含义: “apple-mobile-web-app-status-bar-style”作用是控制状态栏显 ...
- jx3dps开发日记
2014.11.13 子级过滤 关于optgroup这个东西,一开始以为是个包裹元素,但是一般来说,包裹元素给一个class,那么让这个class show()应该它包裹的元素也跟随show,可结果是 ...
- windows server 2003 服务器
服务器基本知识:可通过我的电脑属性里面查看服务器的系统. 设置固定Ip:本地连接(控制面板-网络连接)使用下面的Ip地址.通过ipconfig/all,查看DNS和ip. 远程访问服务器:我的电脑属性 ...
- jQuery中的data方法:
向元素附加数据,然后取回该数据: $("#btn1").click(function(){ $("div").data("greeting" ...
- bzoj 3240: [Noi2013]矩阵游戏 矩阵乘法+十进制快速幂+常数优化
3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 613 Solved: 256[Submit][Status] ...
- js 作用域,变量提升
先看下面一段代码: 代码执行的结果是: 1st alert : a = 0 2nd alert : a = undefined 5th alert : a = 0 3rd alert : a = 3 ...
- Zlib压缩算法在Java与Delphi间交互实现(压缩XML交互)
一个典型应用中,使用delphi作为客户端,J2EE服务端,两者之间用XML作为数据交换,为了提高效率,对XML数据进行压缩,为此需要找到一种压缩/解压算法能够两个平台之间交互处理,使用ZLIB算法就 ...
- IEEE 802
IEEE 802又称为LMSC(LAN /MAN Standards Committee, 局域网/城域网标准委员会), 致力于研究局域网和城域网的物理层和MAC层中定义的服务和协议, 对应OSI网络 ...
- Asp.net 字体样式
在页面中使用到字体样式 “微软雅黑“,在静态页面中显示正常,但在asp.net页面中字体无效,此时只需把字体修改为“Microsoft YaHei";
- gcc编译器参数使用及解决
gcc -c CStringAndPointer.c -o CStringAndPointer.o 执行时出现问题: ./CStringAndPointer.o bash: ./CStringAndP ...