css - 如何在 CSS 中垂直对齐 div 中的元素?

标签 css html alignment

我的网站上有以下内容... Current Results

这是前一位的 HTML 输出:

<div class="featured" style="background: url(http://localhost/basecommand/attachments/8d7fd632111cf768ec62d5ad084d8059.jpg);">

                    <h1>This Is a Test Article</h1>

                    <div class="arrow left">

                        <i class="fi-arrow-left"></i>

                    </div>

                    <div class="arrow right">

                        <i class="fi-arrow-right"></i>

                    </div>

                    <div class="clear"></div>

                    <div class="info">

                        <p>https://www.bungie.net/pubassets/1319/Destiny_31.png

Lorem ipsum dolor sit amet, inani accusata et duo, ad sit veniam interpretaris. Sea scripta nostrum ex, liber fastidii ea duo. Id vim nobis option contentiones, mea probatus praesent ut. Sea ex ...</p>

                        <h2><a href="http://localhost/basecommand/index.php/articles/This-Is-a-Test-Article/1">Read More</a></h2>

                    </div>

                </div>

这是我目前拥有的 CSS

.featured {
    width: 620px;
    height: 349px;
    border: 1px solid #000;
    margin: 0px;
}

.featured h1 {
    font-size: 18px;
    color: #fff;
    background: rgba(183, 31, 47, 0.5);
    padding: 10px;
    margin: 15px 0px;
    width: 50%
}

.featured .arrow {
    font-size: 72px;
    font-weight: bold;
    padding: 10px;
    color: rgba(255, 255, 255, 0.25);
    background-color: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.featured .info {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    bottom: 0;
    left: 0;
    position: relative;
    vertical-align: bottom;
}

.featured p {
    padding: 10px;
}

.featured a {
    color: #fff;
}

.featured h2 {
    font-size: 12px;
    font-weight: bold;
    text-align: right;
    padding: 10px;
}

我可以对我的 css 做哪些修改,以便描述框(“信息”类)与父 div“特色”类的底部对齐?如果可能的话,我还希望箭头在中间对齐。我该怎么做?

提前致谢!

最佳答案

要获得底部的“特色”类,您可以使用位置。

.featured {
   position: relative;
}

.featured .info {
   position: absolute;
   bottom: 0px;
   left: 0px;
   right: 0px;
}

至于将箭头对齐到中心。这是通过将箭头定位在 50% 标记处(即一半)来实现的。但是我们随后将 div 向上移动了高度的一半。我指定了 20px 的高度,并将 div 设置为向上移动 10px,负边距顶部。

.arrow {
    position: absolute;
    top: 50%;
    height: 20px;
    margin-top: -10px;
}

有关 Vertical-Align 的更多信息,请查看这些资源。

https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align

http://css-tricks.com/almanac/properties/v/vertical-align/

http://phrogz.net/CSS/vertical-align/

关于css - 如何在 CSS 中垂直对齐 div 中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22575851/

相关文章:

html - 如何在 Bootstrap 导航栏下方实例化 HTML 模板

jquery - 使 "Drop Down Menu"和 "Head Menu"相对不会使 de "Drop Down Menu"在悬停时向下推 "Head Menu"

javascript - 将 HTML 添加到容器的末尾 : What is the proper way to do it using JavaScript?

可变大小裁剪字段的纯 CSS 格式

wpf - 如何将数据网格中的单元格内容居中?

html - 文字和图片在同一行

html - 导入 font-awesome 导致 Chrome Mobile 上的 x 轴溢出

单个元素的 CSS 类

javascript - Jquery 还是 HTML 问题?为什么我的选择器不起作用?

css - 如果#color 而不是图像,背景位置不起作用