【问题标题】:Problems setting div content alignment设置 div 内容对齐的问题
【发布时间】:2018-08-19 04:42:21
【问题描述】:

我想在页面中添加信息栏。它包含三个水平对齐的 div,所有内容当前都在其中浮动。 我正在尝试使中心 div 的内容居中对齐,右侧 div 向右对齐,但我尝试的任何方法似乎都不起作用。

我尝试将text-align:center 添加到#deliverytext-align:right#quickshop,我还尝试在#quickshop 上添加float:right,但它们根本没有效果。

HTML/CSS:

#info-bar {
    height: 46px;
}
#container {
    margin: 0 auto;
    width: 82%;
}
.info {
    float: left;
    width: 37.5%;
    margin: 0;
    padding: 9px 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
#quickquotes.info {
    width: 28.5%;
}
#quickshop.info {
    width: 34%;
}
#container i {
    font-size: 34px;
    color: #a6d120;
    display: inline-block;
    vertical-align: middle;
}

#container i:before {
    position: relative;
    top: 0px;
}
.icon-quote:before { content: url("http://placehold.it/35x27"); }
.icon-delivery:before { content: url("http://placehold.it/35x27"); }
.icon-quickshop:before { content: url("http://placehold.it/35x27"); }

#container .text-area {
    display: inline-block;
    text-align: left;
    margin-left: 0px;
    color: #1e3e57;
    letter-spacing: 0.07em;
    font-weight: bolder;
    text-transform: uppercase;
    font-size: 0.8em;
} 
<div id="info-bar">
  <div id="container">
    <div id="quickquotes" class="info">
      <i class="icon-quote"></i>
      <div class="text-area">
        Quick Quote Fast Response</div>
    </div>

    <div id="delivery" class="info">
      <i class="icon-delivery"></i>
      <div class="text-area">
        Free UK Delivery on Orders Over £100</div>
    </div>

    <div id="quickshop" class="info">
      <i class="icon-quickshop"></i>
      <div class="text-area">
        Quick Shop Search Product Codes</div>
    </div>
  </div>
</div>

我在这里设置了一个小提琴,以便您可以看到问题的真实示例:https://jsfiddle.net/qafru72o/2/

我到底哪里错了?

【问题讨论】:

    标签: html css variables math calculated-field


    【解决方案1】:

    #container .text-area 中删除text-align:left;,然后将justify-content 添加到每个单独的div。

    #info-bar{
        height: 46px;
    }
    #container{
        margin:0 auto;
        width:82%;
    }
    .info{
        float:left;
        width:37.5%;
        margin:0;
        padding: 9px 0;
        display:flex;
        flex-wrap: nowrap;
        align-items: center;
    }
    #quickquotes.info{
        width:28.5%;
        justify-content: flex-start;
    }
    #quickshop.info{
        width:34%;
        justify-content: flex-end;
    } 
    #delivery.info{
        justify-content: center;
    }
    #container i {
        font-size: 34px;
        color: #a6d120;
        display: inline-block;
        vertical-align: middle;
    }
    #container i:before {
        position:relative;
        top:0px;
    }
    .icon-quote:before     {content: url("http://placehold.it/35x27");}
    .icon-delivery:before  {content: url("http://placehold.it/35x27");}
    .icon-quickshop:before {content: url("http://placehold.it/35x27");}
    
    #container .text-area {
        display: inline-block;
        margin-left: 0px;
        color:#1e3e57;
        letter-spacing:0.07em;
        font-weight:bolder;
        text-transform:uppercase;
        font-size:0.8em;
    }
    <div id="info-bar">
      <div id="container">
        <div id="quickquotes" class="info">
          <i class="icon-quote"></i>
          <div class="text-area">
            Quick Quote Fast Response</div>
        </div>
    
        <div id="delivery" class="info">
          <i class="icon-delivery"></i>
          <div class="text-area">
            Free UK Delivery on Orders Over £100</div>
        </div>
    
        <div id="quickshop" class="info">
          <i class="icon-quickshop"></i>
          <div class="text-area">
            Quick Shop Search Product Codes</div>
        </div>
      </div>
    </div>

    这是你需要的吗?

    【讨论】:

    • 不幸的是,这并没有解决问题。如果您检查 #quickshop 上的元素,您可以看到图标和文本仍然位于包含 div 的左侧。我需要将该 div 的所有内容定位在右侧,并将 #delivery 的所有内容定位在 div 的中心
    • 我编辑了代码。你能检查一下是否正确吗?
    • 完美。非常感谢。我会研究你的做法,以便下次遇到这个问题时学习
    • 没问题,兄弟。您可以将此标记为答案吗? :) 谢谢!
    • 好的,我明白你做了什么。删除了文本对齐:左;来自#container .text-area,然后将 justify-content 添加到每个单独的 div。很好很简单,现在我什至都没有想到这一点。
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 2011-12-19
    • 2019-07-04
    相关资源
    最近更新 更多