我正在创建一个 ePub,我希望图片能够跨越整个页面宽度,但高度不会超过页面高度的 100%。
理想情况下,如果图片比页面高(因此被剪辑),那么它将被缩放到页面高度的 100%,其宽度相应地缩放。
`max-height` 似乎只是扭曲了图片的比例,有什么想法吗?
理想情况下,如果图片比页面高(因此被剪辑),那么它将被缩放到页面高度的 100%,其宽度相应地缩放。
`max-height` 似乎只是扭曲了图片的比例,有什么想法吗?
page-break-inside:avoid;
并且包裹在一个高度为100%(或略小于100%,以防止溢出到下一页)的容器中。同时让图片居中有些棘手,需要同时包含margin:0 auto;
和display:inline-block;
,尤其是inline-block
并不是epub2规范的一部分。这是因为您需要克服各种阅读器的怪癖来使图片居中。.imageWrapperHi {
height:99%;
width:100%;
text-align:center;
page-break-inside:avoid;
}
.imageWrapperHi img {
display:inline-block;
height:100%;
margin:0 auto;
}
html:
<div class="imageWrapperHi">
<img alt="" src="../Images/img1.jpg"/>
</div>
对于横向图片,您还需要将图片放入一个宽度设置为100%的容器中,并通过百分比调整图像本身的大小。
CSS:
.imageWrapperWide {
width:100%;
text-align:center;
page-break-inside:avoid;
}
.imageWrapperWide img {
display:inline-block;
width:100%;
margin:0 auto;
}
html:
<div class="imageWrapperWide">
<img alt="" src="../Images/img1.jpg"/>
</div>
我从未遇到过一种同时考虑两种图像格式的解决方案,除非你使用一个SVG包装器,其中必须包含所需图片的尺寸:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 <image width> <image height>" preserveAspectRatio="xMidYMid meet">
<image width="<image width>" height="<image height>" xlink:href="../Images/cover.jpg"/>
</svg>
我理解的唯一解决方案是,“高度不够,则剪切”... 以保持比例:
创建一个具有overflow:hidden
属性的容器
HTML
<div id="container">
<img src=" "/>
</div>
CSS
* {
margin:0;
padding:0;
}
body, html {
height:100%;
}
#container {
max-width:100%;
height:100%;
max-height:100%;
overflow:hidden;
}
#container img {
width:100%;
height:auto;
}
max-width
将对宽度施加限制,而不是强制扩展。据我所读,他希望它仅扩展到达到一个或多个边框为止。 - Joe DeRose