这可能在某个地方得到了回答,但我找不到它:s
我的问题是关于基于百分比的 div 动态调整大小。
请查看下面的代码示例,了解我制作的示例和可能的解决方案。我问是否有更好的方法来调整大小?
更详细的解释:
假设我正在编写一个人们可以在他们的页面中插入的插件。(想象一下登录表单)。我继续设计插件的 div。我使用媒体查询来实现不同设备所需的外观。我直接在“body”元素内处理 div。我使用百分比进行设计(我喜欢百分比)。假设我将 div 设置为80% width。
现在我把这个插件给用户。用户继续并将插件的 div 放在另一个宽度为100px的 div 中。现在一切看起来都很糟糕。(100px 的 80% 不是很多 [80px])。当然,我希望用户将我的插件放在他拥有的任何小宽度 div 中。
到目前为止我看到的这个问题的解决方案是创建一个具有一定宽度的持有人 div - 比如说硬编码 300px。(例如 - jQuery UI 的 Datepicker div;Meteor 的登录小部件 div)。然后对其进行编码,始终知道我之前设置的 300px 宽度不会改变。
但我不知道这是一个多么好的解决方案。
此外,如果我决定使用硬编码宽度,我的插件将需要大约 1000 像素的宽度。因为我希望 div 使用媒体查询来调整大小。如果我使用硬编码宽度(例如 1000px 宽度的持有人 div)并将其放在页面上,页面将具有水平滚动。而且您不能简单地隐藏持有人 div(父 div)并让孩子同时显示。所以这需要为持有者(父)div设置位置:相对,将其放在窗口之外,并为子div使用相同的位置:相对于父偏移的相反方向具有相同偏移。
我希望到目前为止我很清楚,没有让你感到困惑!
一个代码示例来说明我在说什么:http: //jsbin.com/ifawez/18/edit