我构建了一个动态大小的网格布局,可以合理地适应任何大小的分辨率(手机、平板电脑、台式机)并处理大小调整,同时接近像素完美(对不起,我是强迫症——我说“接近“因为我的数学现在被打破了,你不能在一个奇数大小的容器内放置两个大小均匀的元素,而不会在一侧有 1px 的填充)。
无论如何,下面是我用 JavaScript 破解的链接。这是我试图实现的一个例子。稍微调整底部窗格的宽度,看看我要做什么。
http://jsfiddle.net/langdonx/uFW2C/2/
它有一些丑陋的手动 JavaScript,后来被移植到 Angular,但仍然存在计算所有样式的丑陋 JavaScript。
所以我的问题......我可以用严格的 CSS 来解决这个问题吗?或者更多的 CSS 和更少的 JavaScript?我的意思是根据屏幕宽度动态调整大小的单元格?
以下是业务规则:
- 最大单元格宽度:320px
- 每行最少 # 个单元格:2
- 这对于 CSS 来说可能是不可能的,所以我可以在我的 Galaxy Nexus 上设置 Min Cell Width: 178 for Chrome(其肖像模式为 360px 宽)
- 单元格边框:5px,轮廓为 2px
- 单元格之间的可见边距:3px(边距实际上是 5px,但会
outline
渗出)
在这个例子中,我每次都在 resize 时重绘单元格,但在我的 Angular 版本中,我相信只有样式会更新。也就是说,我可能会table
在调整大小时重新绘制 a ,但我只需要根据文档宽度计算单元格宽度,而且......我不会对使用 a 感到兴奋table
。=[
-结束疯狂的咆哮