我正在阅读epub3规范,并试图处理什么媒体查询可以与固定布局文档结合使用。
我希望能够创建固定布局页面与<meta name="viewport"
指定的特定设备,并选择哪些特定设备的页面实际上包含在阅读顺序和ToC基于设备的屏幕尺寸。
最好的方法似乎是在nav xhtml的<li>
元素上使用'hidden'属性,但据我所见,这不能被css改变。
我也尝试过css visibility
和display
属性,但这些显然是为了改变当前的渲染,而不是添加或删除实际的渲染无关的内容-而epub3规范(以及html规范)表明,hidden
是为我想做的事情的确切类型。
否则,任何基于设备屏幕尺寸显示不同固定布局页面的想法将不胜感激!
您正在寻找的是"再现映射"的概念,而不是媒体查询。它是在同一出版物中根据设备特征(以及其他标准)选择完全不同的呈现方式(布局,包括阅读顺序)的能力。
它不在当前的EPUB 3.0规范中,但它被授权为未来的附加功能。参见演绎映射章程,特别是演绎选择和映射部分。
似乎你正在尝试做的事情在某种程度上违反了固定布局的概念,它假设了特定的屏幕地理位置。在我看来,你需要为不同的设备尺寸创建不同的书籍。
您可以对屏幕尺寸进行媒体查询,但据我所知,没有办法使用这些来控制脊柱中存在的内容。正如您正确的直觉,CSS visibility
属性是关于隐藏页面上的HTML元素,而不是脊柱元素。TOC中的hidden
属性不能通过CSS控制。
你可以试试
@media (max-device-width: 640px) {
body.omit-if-narrow { display: none; }
}
但是我很确定那会给你一个空白页。