将宽度未知且没有自动边距的div居中,显示内联块或javascript

时间:2016-01-15 15:30:55

标签: html css alignment epub

我试图以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;
}

Adob​​e Digital Editions&#39; margin:auto的实现显然(参见http://www.mobileread.com/forums/archive/index.php/t-161097.html)与其用于居中对齐元素的用途不兼容。使用上述方法似乎将诗放在屏幕上。

有没有办法在不使用margin:autodisplay:inline-block或javascript(许多电子阅读程序通常不支持)的情况下将宽度未知的div居中?

0 个答案:

没有答案