html&css中的文字对齐问题

html&css的使用过程当中,咱们常常会遇到不少文字对齐问题。下面我要介绍一个有丁点难的文字对齐问题。
实现效果以下图所示。
 
两行长度不定的文字,要让它们整体水平居中,而后,这两行字要左对齐,以下图所示。
听起来好像挺简单,然而实现起来却。。。。。。
 
错误作法一:
用一个大块div包住两个div,在大div中设置"text-align:center; ",在小div中设置"text-align:left; "
结果以下图所示。
由于div会占据一整行,而不能随内容大小自动调节宽度,若是要对大div设置width,这也很差控制,由于万一文段长度改变,那么仍是没法实现居中。
 
错误作法二:
因而我把小div改为span,由于span是行内元素,能随span内的文段宽度来调节自身宽度。结果以下图所示。
由于span自动调节自身宽度(即span宽度等于文段长度),因此"text-align:left; "对它不起做用。
 
正确作法:
既然块级元素和行内元素都没法实现该效果,那可否折中采起介于它们之间的元素。
对,就是设置"display:inline-block;"。
效果图以下:
思路:在一个大div中放置一个小div,小div中包含2个span文段。大div设置"text-align:center; ",让小div居中; 小div设置"display:inline-block;",这样小div就能有行内元素的特性,会根据内容自动调节本身的宽度,再设置"text-align:left; ",让其中的元素左对齐,这样就搞定了。
Tip:小div中的span元素可替换为div等块级元素,小div可替换为span等行内元素。
 
html代码以下:
<div id="container">
    <div id="child-container">
        <span class="text">请尽快付款以保证商家能及时提供服务</span><br/>
        <span class="text">未支付订单将在半个小时后关闭</span>
    </div>
</div>
html代码
 
css代码以下:
 1 *{
 2     margin: 0;
 3     padding: 0;
 4 }
 5 #container {
 6     text-align: center;
 7     background-color: #DBEDFD;   //这三句只是为了美观,请忽略。。。
 8     height: 40px;
 9     padding: 15px 0;
10 }
11 #child-container {
12     text-align: left;
13     display: inline-block;
14 }
CSS代码
相关文章
相关标签/搜索