如何在多个div中垂直居中文本

时间:2015-05-08 13:30:39

标签: html css twitter-bootstrap-3

我在过去几个小时里一直在努力从左栏切换到右栏。我的意思是,我试图将文本div垂直居中于灰色div。

我很想得到你的一些帮助。我已经阅读了很多教程和论坛答案,但还没有得到预期的结果。

任何建议都非常受欢迎:)

Present problem and expected result HTML代码:



.box-key-message{
    height: 240px;
    position: relative;
    background-color: #eeeeee;
    border-radius: 10px;
}

.box-key-message div {
    display:inline-block;
    vertical-align:middle;
    padding: 20px;
    text-align: justify;
}

.box-key-message span {
    font-weight:bold;
    font-size:16px;
    color: #D5420F;
}

  <div class="col-lg-4 col-lg-offset-1">
    <div class="box-key-message">
    <div>
      <span> Gratuit</span>
      <br /><br />
        Notre service, qui vous permet d’accéder à des centaines d’étudiants, est complètement gratuit pour vous.
      <br /><br />
        Vous ne rémunérez que l’étudiant. Un acompte de 15% vous sera demandé au moment de la mise en relation. Le reste sera payé une fois tous les succès de votre mission atteints !
    </div>
    </div>

    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Simple et Rapide</span>
      <br /><br />
    Remplissez cette page en 5 minutes pour publier une mission à tous nos étudiants.
      <br /><br />
    Vous recevrez alors le CV des étudiants intéressés par votre mission. Une fois l’étudiant sélectionné, la mission commence.
    </div>
    </div>
    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Sans engagement</span>
      <br /><br />
    Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.
      <br /><br />
    Si malgré tout aucun profil ne vous correspond, vous n’avez aucune obligation de recruter un étudiant et poster la mission aura été gratuit.
    </div>
    </div>
    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Et pour payer l’étudiant ?</span>
      <br /><br />
    L’étudiant vous facturera la prestation en direct à la fin de la mission.
    </div>
    </div>

  </div>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

您可以将内部div用作表格单元格,然后使用vertical-align。

我还改进了HTML,而不是使用两个换行符,最好使用段落或边距。

<div class="col-lg-4 col-lg-offset-1">
    <div class="box-key-message">
        <div>
            <span> Gratuit</span>
            <p>Notre service, qui vous permet d’accéder à des centaines d’étudiants, est complètement gratuit pour vous.</p>
            <p>Vous ne rémunérez que l’étudiant. Un acompte de 15% vous sera demandé au moment de la mise en relation. Le reste sera payé une fois tous les succès de votre mission atteints !</p>
        </div>
    </div>
    <div class="box-key-message">
        <div>
            <span>Simple et Rapide</span>
            <p>Remplissez cette page en 5 minutes pour publier une mission à tous nos étudiants.</p>
            <p>Vous recevrez alors le CV des étudiants intéressés par votre mission. Une fois l’étudiant sélectionné, la mission commence.</p>
        </div>
    </div>
    <div class="box-key-message">
        <div>
            <span>Sans engagement</span>
            <p>Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.</p>
            <p>Si malgré tout aucun profil ne vous correspond, vous n’avez aucune obligation de recruter un étudiant et poster la mission aura été gratuit.</p>
        </div>
    </div>
    <div class="box-key-message">
        <div>
            <span>Et pour payer l’étudiant ?</span>
            <p>L’étudiant vous facturera la prestation en direct à la fin de la mission.</p>
        </div>
    </div>
</div>
.box-key-message {
    height: 240px;
    background-color: #eeeeee;
    border-radius: 10px;
    margin-bottom: 2em;
    display: table;
}
.box-key-message div {
    display: table-cell;
    vertical-align:middle;
    padding: 20px;
    text-align: justify;
}
.box-key-message span {
    font-weight:bold;
    font-size:16px;
    color: #D5420F;
}

DEMO

答案 1 :(得分:2)

只需对父div使用display: table; table-layout: fixed;,为每个孩子使用display: table-cell; vertical-align: middle;。看看它如何在下面工作。您可能还需要为它们指定width: 100%

.box-key-message{
    height: 240px;
    position: relative;
    background-color: #eeeeee;
    border-radius: 10px;
    display: table;
    table-layout: fixed;
}

.box-key-message div {
    display:inline-block;
    vertical-align:middle;
    padding: 20px;
    text-align: justify;
    display: table-cell;
    vertical-align: middle;
width: 100%;
}

.box-key-message span {
    font-weight:bold;
    font-size:16px;
    color: #D5420F;
}
  <div class="col-lg-4 col-lg-offset-1">
    <div class="box-key-message">
    <div>
      <span> Gratuit</span>
      <br /><br />
        Notre service, qui vous permet d’accéder à des centaines d’étudiants, est complètement gratuit pour vous.
      <br /><br />
        Vous ne rémunérez que l’étudiant. Un acompte de 15% vous sera demandé au moment de la mise en relation. Le reste sera payé une fois tous les succès de votre mission atteints !
    </div>
    </div>

    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Simple et Rapide</span>
      <br /><br />
    Remplissez cette page en 5 minutes pour publier une mission à tous nos étudiants.
      <br /><br />
    Vous recevrez alors le CV des étudiants intéressés par votre mission. Une fois l’étudiant sélectionné, la mission commence.
    </div>
    </div>
    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Sans engagement</span>
      <br /><br />
    Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.
      <br /><br />
    Si malgré tout aucun profil ne vous correspond, vous n’avez aucune obligation de recruter un étudiant et poster la mission aura été gratuit.
    </div>
    </div>
    <br /><br />

    <div class="box-key-message">
    <div>
    <span>Et pour payer l’étudiant ?</span>
      <br /><br />
    L’étudiant vous facturera la prestation en direct à la fin de la mission.
    </div>
    </div>

  </div>

答案 2 :(得分:1)

您可以在display: table; width:100%;上使用.box-key-message,在其中的div上使用display: table-cell。您希望使用表css hack,因为表格支持vertical-align: middle而常规div不要。

<强> HTML:

<div class="row">
    <div class="col-lg-4 col-lg-offset-1">
        <div class="box-key-message">
            <div>
                <p><strong> Gratuit</strong></p>
                <p>Notre service, qui vous permet d’accéder à des centaines d’étudiants, est complètement gratuit pour vous.</p>
                <p>Vous ne rémunérez que l’étudiant. Un acompte de 15% vous sera demandé au moment de la mise en relation. Le reste sera payé une fois tous les succès de votre mission atteints !</p>
            </div>
        </div>

        <div class="box-key-message">
            <div>
                <p><strong>Simple et Rapide</strong></p>
                <p>Remplissez cette page en 5 minutes pour publier une mission à tous nos étudiants.</p>
                <p>Vous recevrez alors le CV des étudiants intéressés par votre mission. Une fois l’étudiant sélectionné, la mission commence.</p>
            </div>
        </div>

    <div class="box-key-message">
        <div>
            <p><strong>Sans engagement</strong></p>
            <p>Les étudiants des Grandes Ecoles qui vous répondent sont qualifiés, motivés, disponibles et réactifs.</p>
            <p>Si malgré tout aucun profil ne vous correspond, vous n’avez aucune obligation de recruter un étudiant et poster la mission aura été gratuit.</p>
        </div>
    </div>

    <div class="box-key-message">
        <div>
            <p><strong>Et pour payer l’étudiant ?</strong></p>
            <p>L’étudiant vous facturera la prestation en direct à la fin de la mission.</p>
        </div>
    </div>
  </div>
</div>

<强> CSS:

.box-key-message{
        height: 240px;
        display:table;
        background-color: #eeeeee;
        border-radius: 10px;
        margin-bottom: 20px;    
        width: 100%;
}

.box-key-message div {
        display:table-cell;
        vertical-align: middle;
        padding: 20px;
        text-align: justify;
}

.box-key-message strong {
        font-size:16px;
        color: #D5420F;
}

作为旁注,你过度使用了断点标签。您可以使用内容周围的段落标记来获取.box-key-message div中内容所需的间距。要将盒密钥消息块分开以便它们不会相互接触,您可以在CSS中添加margin-bottom: 20px;(或您喜欢的任何间距)到.box-key-message。

有关示例,请参阅此codepen