html - 如何将边距或填充设置为父容器高度的百分比?

标签 html css vertical-alignment

我一直在绞尽脑汁想使用以下方法在 css 中创建垂直对齐

.base{
        background-color:green;
	    width:200px;
	    height:200px;
	    overflow:auto;
	    position:relative;
	}

    .vert-align{
		padding-top:50%;
		height:50%;
	}
<!-- and used the following div structure. -->

    <div class="base">
       <div class="vert-align">
    	   Content Here
       </div>
    </div>

虽然这似乎适用于这种情况,但令我惊讶的是,当我增加或减少基本 div 的宽度时,垂直对齐会突然对齐。我期望当我设置 padding-top 属性时,它会将填充作为父容器高度的百分比,在我们的例子中是基础,但是上面的 50% 的值被计算为百分比宽度。 :(

有没有办法将填充和/或边距设置为高度的百分比,而无需使用 JavaScript?

最佳答案

修复是,是的,垂直填充和边距是相对于宽度的,但 topbottom 不是。

所以只需将一个 div 放在另一个 div 中,并在内部 div 中使用类似 top:50% 的东西(记住 position 如果它仍然不起作用,则很重要)

关于html - 如何将边距或填充设置为父容器高度的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982480/

相关文章:

javascript - 如何使用 jquery 在现有 li 列表之间添加带有文本的 li 元素?

html - 使用固定页眉/页脚填充 100% 父级高度的表格

php - jQuery Ajax : pdf response

html - 响应式设计中 TD 垂直对齐的最大边距

javascript - 使用javascript更改刷新时的html背景

javascript - 调整浏览器大小时如何隐藏div?

css - 无法访问 FTL 中的 .css 文件以生成 PDF

jquery - 如何在 jQuery 中实现旋转动画?

HTML/CSS 按钮和链接垂直对齐

css - 带有 div 的 Twitter Bootstrap 结构