【问题标题】:What to do to align text as shown in the image using HTML and CSS?如何使用 HTML 和 CSS 对齐图像中显示的文本?
【发布时间】:2016-01-10 20:07:41
【问题描述】:

我正在尝试对齐文本块,使其看起来像在图像中。但是,没有可接受的结果。文本位于重复的浮动 div 中。相同的分区彼此相邻。

我的 HTML 代码:

<div id="bottomPanel">
  <div class="bottomItem">
    <img src="image.png" alt="mouse" class="imgBottom">
    <a href="#" title="description" class="item_bottomDesc">Lorem ipsum dolor sit amet</a>
    <p class="item_bottomAbout">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur gravida, massa ut suscipit suscipit, massa elit sollicitudin eros, nec lacinia neque odio a est. Phasellus tincidunt nulla eget lorem sodales</p>
  </div>
</div>

我的 CSS 代码:

#bottomPanel {
    float: left;
    width: 100%;
    text-align: center;
}
.bottomItem {
    float: left;
    width: 100%;
    margin-top: 10px;
    background-color: #e6e6e6;
}
.imgBottom {
    float: left;
    padding-top: 25px;
    padding-left: 14px;
}
.item_bottomDesc {
    float: left;
    font-family: Arial;
    font-weight: bold;
    font-size: 12px;
    text-decoration: none;
    color: #133855;
    padding-top: 42px;
    padding-left: 18px;
    display: block;
}
.item_bottomAbout {
    float: left;
    font-family: Arial;
    font-size: 12px;
    width: 376px;
    height: auto;
    text-align: justify;
    display: block;
    padding-top: 50px;
    color: #7b7a79;
}

元素应该是这样的:

我无法正确对齐的文本是长文本。 分区有 100% 的宽度,大约是 100%。 774 像素。 bottomPanel 是所有浮动 .bottomItem 所在的 div。 有什么想法吗?

【问题讨论】:

    标签: html css css-float css-position text-align


    【解决方案1】:

    所以总的来说这里没有太大问题。只是你有一些你不需要的额外东西。

    bottomDescbottomAbout确实需要floated,这两个元素的padding-top也需要调整。

    我还为图像添加了明确的宽度/高度,可以根据需要随意调整,但最好定义它。我还用适当的margins 替换了它的padding

    最后,我完全删除了#bottomPanel 样式——这里再次不需要float,无论如何width:100% 是默认的。此外,text-align:center 是不必要的。

    这是修改后的代码供您查看:

    .bottomItem {
        float: left;
        width: 100%;
        margin-top: 10px;
        background-color: #e6e6e6;
    }
    .imgBottom {
        float: left;
        margin: 14px;
        width: 100px;
        height: 100px;
    }
    .item_bottomDesc {
        font-family: Arial;
        font-weight: bold;
        font-size: 12px;
        text-decoration: none;
        color: #133855;
        padding-top: 14px;
        padding-left: 18px;
        display: block;
    }
    .item_bottomAbout {
        font-family: Arial;
        font-size: 12px;
        width: 376px;
        height: auto;
        text-align: justify;
        display: block;
    }
    <div id="bottomPanel">
      <div class="bottomItem">
        <img src="http://placehold.it/100x100" alt="mouse" class="imgBottom">
        <a href="#" title="description" class="item_bottomDesc">Lorem ipsum dolor sit amet</a>
        <p class="item_bottomAbout">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur gravida, massa ut suscipit suscipit, massa elit sollicitudin eros, nec lacinia neque odio a est. Phasellus tincidunt nulla eget lorem sodales</p>
      </div>
    </div>

    【讨论】:

      【解决方案2】:

      我建议您使用flexbox 而不是float,并且您不必使用padding 来获得垂直对齐。

      .bottomItem {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin: 10px;
      }
      
      .right {
        max-width: 60%;
        margin: 0 10px;
      }
      <div id="bottomPanel">
        <div class="bottomItem">
          <img src="http://placehold.it/150x150">
          <div class="right">
            <a href="#" title="description" class="item_bottomDesc">Lorem ipsum dolor sit amet</a>
          <p class="item_bottomAbout">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur gravida, massa ut suscipit suscipit, massa elit sollicitudin eros, nec lacinia neque odio a est. Phasellus tincidunt nulla eget lorem sodales</p>
          </div>
        </div>
        
        <div class="bottomItem">
          <img src="http://placehold.it/150x150">
          <div class="right">
            <a href="#" title="description" class="item_bottomDesc">Lorem ipsum dolor sit amet</a>
          <p class="item_bottomAbout">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur gravida, massa ut suscipit suscipit, massa elit sollicitudin eros, nec lacinia neque odio a est. Phasellus tincidunt nulla eget lorem sodales</p>
          </div>
        </div>
        
        <div class="bottomItem">
          <img src="http://placehold.it/150x150">
          <div class="right">
            <a href="#" title="description" class="item_bottomDesc">Lorem ipsum dolor sit amet</a>
          <p class="item_bottomAbout">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur gravida, massa ut suscipit suscipit, massa elit sollicitudin eros, nec lacinia neque odio a est. Phasellus tincidunt nulla eget lorem sodales</p>
          </div>
        </div>
      </div

      【讨论】:

      • 如果在生产环境中使用 flexbox,请注意当前的 browser support
      猜你喜欢
      • 2013-12-26
      • 2016-02-08
      • 1970-01-01
      • 2021-10-08
      • 2020-05-14
      • 2017-03-04
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多