Tom*_*man 2 html css layout vertical-alignment
如何在不知道其尺寸的情况下垂直和水平居中单个图像?
此外,如果图像大于视口,则应重新调整大小以适应
有没有办法在不使用Javascript的情况下完成所有这些?
这是我之前做的一个页面,只做这个:)
这是整个代码:
body{background:#e5e7e6 url(egyptrabbit.jpg) no-repeat fixed 50% 50%}
Run Code Online (Sandbox Code Playgroud)
编辑:啊,只是看到调整大小适合部分.您可以在背景图像上使用CSS3属性"contains"以确保它始终位于窗口内,但如果窗口较大,这将拉伸它.
如果包含元素,则只能垂直对齐display: table-cell,因此设置为,然后您可以使用vertical-align和text-align.这是一个例子:
?<div style="width: 500px; height: 300px; border: 1px red solid; display: table-cell; vertical-align: middle; text-align: center">
<img src="https://www.google.com/images/srpr/logo3w.png">
</div>??????????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
示例小提琴:http://jsfiddle.net/8Aq5Y/
如果您不更改display,或者display设置为类似block或类似的东西,它将不起作用inline.
要确保它适合包含元素,只需使用max-width和max-height:
<div style="width: 100px; height: 100px; border: 1px red solid; display: table-cell; vertical-align: middle; text-align: center">
<img src="https://www.google.com/images/srpr/logo3w.png" style="max-width: 100px; max-height: 100px;">
</div>?
Run Code Online (Sandbox Code Playgroud)