【问题标题】:center dynamic content vertically垂直居中动态内容
【发布时间】:2015-03-01 20:20:03
【问题描述】:

我在互联网上搜索了我的问题,我总是找到相同的解决方案,但它对我不起作用.. 我的代码中的某些内容与中的“垂直居中”动态内容的示例不同一个分区。

我有这个网页 http://staging.karlienfabre.be/pocoloco/reizen/canyoning.html

问题出在第一个黄色部分。我希望左边的文字垂直居中;但是文本可以有不同的长度;右边的白框也应该垂直居中。

此时html看起来是这样的

 <div class="container yellow-content">
    <div class="row center-vertical">
        <div class="col-md-7 vertical-center-element">
            <h2>Actie en avontuur</h2>
            <p>
                540 smith grind grind hang up launch ramp. Sponsored gnarly no comply regular footed hang-up. Quarter pipe tic-tac aerial hang ten airwalk. Deck baseplate crail grab bluntslide regular footed. Varial carve darkslide ollie hole Vans Calfornia Daze rocket air. Pivot kick-nose ollie sketchy death box Steve Rocco.
            </p>
        </div>
        <div class="col-md-3 col-md-offset-1 bgwhite vertical-center-element">
            <div class="row text-center">
                <div class="col-md-6 col-md-offset-3">
                    <div class="text-center testimonial">
                        <a href=""> <img class="img-circle img-responsive" src="../img/reisaanbod/testimonials/testi_canyoning.jpg" alt=""> </a>
                    </div>
                </div>
            </div>
            <div class="row text-center">
                <div class="row-md-9">
                        <p>Tic-tac nollie bearings Ron Allen disaster. Downhill blunt no comply Kevin Jarvis slob air. Deck Brooklyn Banks indy grab slap maxwell pop shove-it.</p>
                </div>
            </div>
        </div>
    </div>
</div>

我认为很重要的css

.row.center-vertical{
    display: table;
}
.vertical-center-element{
    display: table-cell;
    vertical-align: middle;
}

我找不到我做错了什么或导致居中无法正常工作的原因。

提前致谢!

【问题讨论】:

    标签: html css vertical-alignment centering


    【解决方案1】:

    改变

    .vertical-center-element{
        display: table-cell;
        vertical-align: middle;
    }
    

    .vertical-center-element {
        display: inline-block;
        vertical-align: middle;
        float: none;
    }
    

    您在阻止垂直对齐的元素上有float: left。上面的代码(特别是float:none)覆盖了它。

    希望有帮助

    编辑

    在你的情况下,为什么不改变:

    <div class="col-md-7 vertical-center-element">
            <h2>Actie en avontuur</h2>
    

    到(注意 col-md-8,不是 col-md-7)

    <div class="col-md-8 vertical-center-element vertical-centered-text">
            <h2>Actie en avontuur</h2>
    

    并将以下内容应用于您的 CSS:

    .vertical-center-element {
        display: inline-block;
        vertical-align: middle;
        float: none;
    }
    
    .vertical-centered-text {
        padding-right: 60px;
    }
    

    这样您的所有元素都可以正确排列,并且您的文本位于正确的位置。 并且您对 css 所做的更改较少,因此在缩小等时您不会对引导网格进行意外更改。

    【讨论】:

    • 好的。正如你所说,内容现在是垂直对齐的,但 div 需要浮动:left.. 知道如何实现两者吗?
    • 也许这会有所帮助:stackoverflow.com/questions/12557897/…。如果没有,您可以使用 jquery 或其他方式调整上边距吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-31
    • 2023-03-21
    • 2016-09-10
    • 2017-08-16
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多