我试图以EPUB格式设计一系列诗歌。尽管诗的宽度和诗的宽度未知,但诗需要水平居中。
我已经通过以下两个不同的方式设法做到了这一点:Centering div with unknown width。
这两种方法都适用于Sigil和我的浏览器,但在某些主要的电子书阅读环境中却有所不同。
我试过了thirtydot的方法:
HTML:
<div id="container">
i'm as wide as my content
</div>
CSS:
body {
text-align: center;
}
#container {
text-align: left;
border: 1px solid red;
display: inline-block;
/* for ie6/7: */
*display: inline;
zoom: 1;
}
不幸的是,这似乎在Callibre,Adobe Digital Editions以及使用其引擎的许多电子阅读软件程序中存在问题,因为display: inline-block
的使用导致使用该风格的诗歌或诗句流过边缘当移动到下一页时,将跳过视口和缺少的内容。
Nate B描述的方法在Adobe Digital Editions(以及Callibre,我相信)中也存在问题:
#wrapper {
position: relative;
left: 50%;
float: left;
}
#page {
position: relative;
left: -50%;
float: left;
}
Adobe Digital Editions&#39; margin:auto
的实现显然(参见http://www.mobileread.com/forums/archive/index.php/t-161097.html)与其用于居中对齐元素的用途不兼容。使用上述方法似乎将诗放在屏幕上。
有没有办法在不使用margin:auto
,display:inline-block
或javascript(许多电子阅读程序通常不支持)的情况下将宽度未知的div居中?