作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现我可以同时拥有其中之一,但似乎无法同时拥有两者。
我的HTML如下:
<div id="middle">
<div id="middleinner"></div>
</div>
CSS 有点像这样(z-indexes 为页面上的其他内容设置,因为它不相关而被遗漏在这里,另外还有一些注释掉的东西,因为我在进行过程中试图弄清楚) :
html, body{
font-family: helvetica, sans-serif;
font-size: 1em;
height: 100%;
overflow: hidden;
}
#middle{
/* display: table;*/
display: table;
height: 80%;
width: 90%;
/* position: fixed;*/
position: absolute;
top: 10%;
left: 5%;
right: 95%;
bottom: 90%;
color: #000;
z-index: 0;
}
#middleinner{
padding: 0.5em 1em 0.5em 1em;
background-color: #F9F9F9;
display: table-cell;
/* display: inline-block;*/
border-radius: 1.5em;
vertical-align: middle;
/* margin-left: auto;
margin-right: auto;*/
text-align: center;
/* position: relative;*/
position: absolute;
width: 100%;
height: 100%;
overflow: auto;
z-index: 20;
}
无论如何,如果我将 middleinner 的位置更改为相对而不是绝对,我将以适当的溢出处理为代价获得垂直对齐。如果我将它设置为绝对,我将以垂直对齐为代价获得适当的溢出处理。
有没有纯 CSS 的方法可以处理这个问题?
最佳答案
是的,line-height
、inline-block
和 vertical-align
的组合可以做到这一点。
#middle {
width: 80%;
margin: 10px auto;
border: 1px dashed black;
height: 500px;
line-height: 500px;
vertical-align: middle;
text-align: center;
}
#inner {
height: 50px;
width: 80%;
overflow: auto;
display: inline-block;
line-height: 1.1em;
}
要使其与动态高度元素一起使用,您必须使用一些 JavaScript,因为您使用的是 jQuery,我将使用它。也完全可以为此使用 vanilla JS。
resize = function(el) {
el.css({lineHeight: el.height() + "px"})
};
$(document).ready(function() {
var $middle = $("#middle");
resize($middle);
$(window).on("resize", function() {
resize($middle);
})
})
关于css - 垂直对齐 div 和适当的滚动溢出,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13260004/
这段代码在 Java 中的等价物是什么?我放了一部分,我对 I/O 部分感兴趣: int fd = open(FILE_NAME, O_WRONLY); int ret = 0; if (fd =
我正在尝试将维度为 d1,d2,d3 的张量 M[a1,a2,a3] reshape 为维度为 d2, d1*d3 的矩阵 M[a2,a1*a3]。我试过 M.reshape(d2,d1*d3) 但是
我是一名优秀的程序员,十分优秀!