关于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传统开发的干货一枚,内容绝非原创,仅是收集.学习.消化.总结.吐出... 基本结构标签: < ... 
随机推荐
- HDFS 搭建记录
			1. 三台服务: 172.17.0.62(namenode) 172.17.0.68(datanode) 172.17.0.76(datanode) /etc/hosts包含的内容: 三台都包含的域名 ... 
- 金山网络2014春季Android实习生招聘-成都站-笔试第二题
			一个文件名为input.txt的文件当中,每一行都有一个单词,要求统计单词出现的频率,并且按照从小到大出现次数打印,次数相同的按照首字母顺序排序. package jinshanwangluo.exa ... 
- VC6.0中重载操作符函数无法访问类的私有成员
			整理日: 2015年03月18日 在 C++ 中,操作符(运算符)可以被重载以改写其实际操作.同时我们可以定义一个函数为类的朋友函数(friend function)以便使得这个函数能够访问类的私有成 ... 
- 10055 - Hashmat the Brave Warrior
			Problem A Hashmat the brave warrior Input: standard input Output: standard output Hashmat is a brave ... 
- bzoj 1223: [HNOI2002]Kathy函数 数位DP 高精度
			1223: [HNOI2002]Kathy函数 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 207 Solved: 90[Submit][Stat ... 
- Java 字节码
			Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于Java语言的深度理解和运用,毕竟是很少会有人涉及的话题.In ... 
- ASP.NET中Cookie的使用
			学习web开发,使用Cookie是不可避免的,在这就浅 显的总结一下,供新手参阅.个人感觉Cookie的使用和ASP.NET中的Session非常像,只不过Cookie是保存在客户端,而 Sessio ... 
- SQLite: sqlite_master
			SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查询以获得所有表的索引.每一个 SQLite 数据库都有一个叫 SQLITE_MASTER 的表, 它定义数据库的 ... 
- 分布式文件系统MFS(moosefs)实现存储共享(第二版)
			分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ... 
- Unity3d 屏幕空间人体皮肤知觉渲染&次表面散射Screen-Space Perceptual Rendering & Subsurface Scattering of Human Skin
			之前的人皮渲染相关 前篇1:unity3d Human skin real time rendering 真实模拟人皮实时渲染 前篇2:unity3d Human skin real time ren ... 
