【问题标题】:How to align text in the following way using css / html?如何使用 css/html 以下列方式对齐文本?
【发布时间】:2012-01-04 02:37:45
【问题描述】:

我刚刚在我的网站上添加了一个小区域,如下所示:


问题出在“关于我:”部分。我需要将文本移到那里看起来像这样:


任何人都可以建议 css / html 对齐解决方案,以像第二个示例中那样定位文本吗?

当前 HTML

 <div id="profInfo">
            <div id="profImage">
            <img src="..." alt="user: ..."/>
            </div>
            <div id="profDetails">
                <ul>
                    <li><b class="underb" style="color: #7da315;">Name</b><b style="color: #7da315;">:</b> Ilya Knaup </li>
                    <li><b class="underb" style="color: #1e8bb4;">Country</b><b style="color: #1e8bb4;">:</b> Spain </li>
                    <li><b class="underb" style="color: #c86c1f;">Stories</b><b style="color: #c86c1f;">:</b></li>
                    <li><b class="underb" style="color: #af1e83;">About me</b><b style="color: #af1e83;">:</b> Lorem ipsum dummy textum ...</li>
                </ul>
            </div>
            </div>

当前 CSS

* {
     margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
  }

#profInfo {
    width: 512px;
    margin: 10px 4px 0 3px;
}

#profImage {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;

    height: 100px;
    width: 100px;
    padding: 1px;
    float: left;
    background: #535353;
    border: 1px solid #272727;

    -khtml--webkit-box-shadow: 0 1px 2px #d6d6d6;
    -moz-box-shadow: 0 1px 2px #d6d6d6;
    box-shadow: 0 1px 2px #d6d6d6;
}

#profDetails {
    float: right;
    width: 395px;
    line-height: 22px;
}

#profDetails ul {
    list-style: none;
    font-size: 13px;
}

.underb {
    text-decoration: underline;
}

#profImage img {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

这里是所有代码http://jsfiddle.net/8ERvz/7/

【问题讨论】:

    标签: html css positioning alignment


    【解决方案1】:

    听起来很疯狂,您可以使用table

    您有一组带有一组数据的标题。对我来说听起来像一张桌子。

    【讨论】:

    • 我真的会使用 div 或其他不同的东西来代替表格。只是为了学习。我知道如何使用表格,但我正在通过一些小任务来挑战自己,以学习如何使用 css,因此 css 与 div 的结合。
    • 这不是一组数据,而是一个定义列表。没有像表格数据这样的东西,只有一个标题和相应的内容。
    • @MattiSchneider-Ghibaudo:我认为这仍然可以作为一张桌子。可能是最简单的表格,是的,内容绝对不需要表格,但我不会说它一点都不像表格。
    • @MattiSchneider-Ghibaudo,有多种语义标记相同数据的方法。 dl 是合适的,table 也是如此,ul 也是如此,一些普通的-divs 也是如此。
    • @Matti:嗯,不。段落不是标题,因为它没有为相关内容的一部分提供标题。带有换行符的 pre 块不是列表,它只是带有换行符的 pre 块。 OP拥有的内容是一系列与内容相关的标签。我认为一张桌子很适合(尽管它不是我的第一选择)。屏幕阅读器不会使用scope="row" 属性逐行而不是逐列读取表格吗?
    【解决方案2】:

    更新 HTML

    <div id="profInfo">
            <div id="profImage">
            <img src="..." alt="user: ..."/>
            </div>
            <div id="profDetails">
                <ul>
                    <li><b class="underb" style="color: #7da315;">Name</b><b style="color: #7da315;">:</b> Ilya Knaup </li>
                    <li><b class="underb" style="color: #1e8bb4;">Country</b><b style="color: #1e8bb4;">:</b> Spain </li>
                    <li><b class="underb" style="color: #c86c1f;">Stories</b><b style="color: #c86c1f;">:</b></li>
                    <li><div style="float:left; display:block;width:60px;"><b class="underb" style="color: #af1e83;">About me</b>: </div> <p style="display:block;width:300px;padding-left:60px;">Lorem ipsum dummy textum ... Lorem ipsum dummy textum ... Lorem ipsum dummy textum ... Lorem ipsum dummy textum ...<p></li>
                </ul>
            </div>
            </div>
    

    当然,与内联样式相比,将这些更新存储在样式表中会更好,但这会告诉您需要做什么。

    【讨论】:

    • 抱歉,修改已发布。
    【解决方案3】:

    您可以使用float:left(在“关于我”)和overflow:hidden(在文本的其余部分)来实现您想要的布局。

    这是一个带有&lt;span&gt; 标签和style 属性的实现,只是为了说明发生了什么:

    <li>
        <span style="float: left;">
            <b class="underb" style="color: #af1e83;">About me</b>
            <b style="color: #af1e83;">:</b>
        </span>
        <span style="display:block; overflow:hidden; padding-left:.5em;">
            Lorem ipsum dummy textum Lorem ipsum dummy textum Lorem ipsum dummy textum Lorem ipsum dummy textumLorem ipsum dummy textum Lorem ipsum dummy textum Lorem ipsum dummy textum Lorem ipsum dummy textum Lorem ipsum dummy textum
        </span>
    </li>
    

    我对@9​​87654322@ 的回答使用了相同的技术;阅读可能会使它更清晰。

    【讨论】:

    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2016-05-25
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    相关资源
    最近更新 更多