【发布时间】:2012-07-12 00:00:00
【问题描述】:
我在一家创意设计工作室工作,我喜欢打破范式和惯例来创建独特的网站布局,最近我们开始开发横向网站布局。虽然水平网站布局看起来“很酷”,但我还没有弄清楚如何让它们像开箱即用的基于垂直网格的网站一样流畅和响应迅速。
通常,对于带有容器的垂直网站,您会在容器元素上设置一个基于百分比的宽度,然后设置一个最大宽度。使用响应式布局,您的内容会无限滚动到页面外,它的宽度可能会有所不同,特别是如果内容是唯一的,因此公式 target/context * 100 并不起作用(或者确实如此?)。
也许有一种方法可以在元素上设置响应式高度、填充和边距,使其像基于网格的响应式网站一样工作。我不介意必须使用 Javascript,但 CSS 修复将是理想的。
我正在尝试创建的布局类型示例供您参考:
【问题讨论】:
-
唯一的问题是,例如,我正在构建的当前站点有一个宽度不同的内容块,因为它使用水平砌体插件,因此容器根据内容的方式扩展和宽度变化被洗牌和内容的大小。我也不知道高度,因为它都是基于百分比的高度,所以没有真正的上下文。我猜这并不像我们的设计师想象的那么容易;)
-
是的,这对我们很多人来说是一个新领域,但我看到的更多——完全水平布局,或具有根据用户操作或进度滚动到视图中的宽水平内容的部分。
-
如果我今天要做这种布局,我会使用 CSS 灵活框模型。 Flex 是一种非常强大的布局方法,所有现代浏览器都支持。我在 2012 年使用 flexbox 进行复杂的布局,而没有使用 javascript,因为我们当时的程序员把布局弄得一团糟。这在当时有点赌博,因为标准仍在不断变化,但它已经进入了最后一次通话。即使使用以前的规范或没有支持的浏览器,也有一些很棒的 polyfill 可供使用。
标签: html css horizontal-scrolling