如何将<div class="columns is-vcentered">
垂直居中到包围它的红色部分?
我应该删除或添加一些类来改进这段代码吗?请给我建议。谢谢!
我是新的CSS框架,从来没有尝试过Bootstrap,而是选择了Bulma。
<section id="eyes" class="section">
<div class="container">
<div class="columns is-vcentered">
<div class="column">
<h1>Eyes on what matters</h1>
<p>Backtick is made to look minimal, so you can focus on your code, always. From UI to linter errors, everything is kept non-obtrusive.</p>
</div>
<div class="column">
<img class="image" src="img/roll.jpg" alt="">
</div>
</div>
</div>
</section>
在CSS中,除了着色元素,我只做过以下操作:
section {
height: 70vh;
}
5条答案
按热度按时间f0brbegy1#
我觉得
.columns
在默认情况下没有display:flex;
有点滑稽(它应该有吗?)。无论如何,如果你使用一些添加flex的东西,例如:然后你从
is-desktop
得到display:flex
,现在突然is-vcentered
按预期工作了。另外,我认为语义是错误的,因为
is-vcentered
表明它是columns
,垂直居中。但它实际上是做什么的(从源代码):就是让
columns
的子元素在columns
中垂直居中,所以你可能还需要设置columns
元素的高度。我认为
is-vcentered
应该命名为类似has-vcentered-content
的名称,但也许我忽略了一些明显的东西。tl;dr;将height和flex添加到
columns
-元素,以便is-vcentered
执行某些操作。对不起,我想这更多的是对问题的推断,而不是解决方案。
我相信真实的的解决方案可能是使用现有的hero-class。(顺便说一下,它集中手动使用填充,就像Peter Leger的答案一样!)
1wnzp6jl2#
更新:我是在谷歌上搜索
.content
类而不是.column
类中垂直对齐项目的方法,其他人可能会出于同样的原因偶然发现这个地方。如果你想在
.content
类中垂直对齐元素,我是这么做的:注意:这对于具有固定高度的
div
非常有用。下面是它处理的一个html结构示例
下面是jsfiddle示例
vhmi4jdf3#
列未垂直居中,因为您已为节使用了高度。使用****填充可增加*******高度。
删除类
.section
(在Bulma中)用你自己的填充物。
x一个一个一个一个x一个一个二个x
您可以使用
.columns is-vcentered
两次。在这种情况下,您可以设置截面的高度。一个三个三个一个
wnrlj8wa4#
只需在
div.columns
上添加.is-flex
类,.is-centered
和.is-vcentered
都将可用(Bulma v.0.7.1):https://bulma.io/documentation/modifiers/responsive-helpers/
下面是一个完整的工作示例,其中一个组件位于屏幕中央:
您还可以嵌套列,效果与下面演示的相同:Nesting columns.
8dtrkrch5#
有点晚了,但我认为在这种情况下最好的解决方案是使用
margin: auto;
。