【问题标题】:css3 min-max width when zooming out pages缩小页面时的css3 min-max宽度
【发布时间】:2011-12-28 16:12:30
【问题描述】:

祝你有美好的一天。我正在处理一个网页,但我一直在定义最大和最小宽度。基本上,当像大多数网页一样缩小网页时,我希望我的页面居中。请需要专家帮助。尽快谢谢。

body
{
  height:100%;
  width:100%;

  margin:0 auto; 
  background-image: -webkit-linear-gradient(top, #E5E5E5 30%, #999);
  background-image: -moz-linear-gradient(top, #E5E5E5 30%, #999);
  background-image: linear-gradient(top, #E5E5E5 30%, #999);

}

#mainContainer
{
background-image:url(bg3.jpg);
background-repeat:repeat;
background-color:#999;
width:70%; /*default width in percent for a liquid layout.
the problem is when I zoom out the page the width remains to be in 70% therefore forcing the contents to be pushed to the left corner instead of being centered.*/
min-width:940px; 
margin:5px auto;
height:100%; 
padding:0 1% 0 1%; 
-webkit-border-radius: 10px;
border-radius: 10px;
}

【问题讨论】:

    标签: html css layout liquid-layout


    【解决方案1】:

    基本上这只能通过脚本来实现。

    获取浏览器屏幕的 70% 宽度。 将该宽度转换为其对应的 px 值 使用从转换/计算中获得的值设置#mainContainer 的最大宽度。

    $( document ).ready( function(){
    setMaxWidth();
    
    function setMaxWidth() {
    $( "#mainContainer" ).css( "maxWidth", ( $( window ).width() * 0.7 | 0 ) + "px" );
    }
    
    });
    

    -感谢 Esailija link

    【讨论】:

    • 嗨。我使用了你的答案,当页面缩放为 100% 时,会发生缩小,它可以正常工作。但是如果屏幕缩放为 50%,那么我会加载我的页面:我不会得到一个好的结果 。谢谢
    【解决方案2】:

    它以我为中心。但是有一些潜在的问题:

    1. 要将高度 100% 应用于#mainContainer,您不仅需要将高度应用于正文,还需要将高度应用于 html。
    2. 您还需要清除 html 和 body 上的填充和边距,否则它们会添加滚动条。
    3. 您不能为高度为 100% 的容器设置边距,否则它们会将滚动条添加到页面。我用 body 上的 padding 和“box-sizing:border-box;”来模拟它们,但它在旧版 IE 中无法正常工作,因此您需要对它们进行 hack。
    4. 另外,您最好将高度更改为最小高度,否则会变得凌乱,然后您将在#mainContainer 中包含大量内容。

    在此处修复它们:http://jsfiddle.net/WLPGE/1/

    【讨论】:

    • 感谢您的澄清,并花一些时间调查此事。那么它改善了我的页面布局。哦,页面以你为中心?基本上它在缩小时确实在中心,但与我的有点不同。当你缩小它时,容器大小保持在原来的位置,但我希望当我缩小它时,宽度本身也会流畅地适应缩小,而不仅仅是内容。就像沿宽度大小压缩内容一样。
    • 如果我理解正确,您希望#mainContainer 在宽度超过 940 像素时进行拉伸,对吗?如果 70% 的容器宽度大于最小宽度(940 像素),它现在正在拉伸。因此,如果您的屏幕宽度超过 1350 像素,#mainWidth 将开始变宽。如果你想在它变成 940px 后立即开始拉伸,你需要改变“width: 70%;”到 "width: 100%";" 或类似的东西。
    • 我希望#mainContainer 在我缩小它后限制它的宽度,从而压缩它的所有内容,将它全部移动到中心。 - 这是它最初的样子的快照。 -->[链接]tinypic.com/r/28wjcci/5 - 然后这就是我缩小浏览器时的样子。 [链接]tinypic.com/r/102qlcn/5 - 这是我希望它在缩小时的样子。 [链接]tinypic.com/r/2v2uuea/5.
    • 。看到区别了吗? =D 基本上我知道它的宽度:70% 导致了困境,但我不能删除它,因为我的页面将不会在其他尺寸的屏幕上流动。如果我以 px 为单位定义了宽度或最大宽度,我可以得到我想要的外观(但它不适用于流动的布局)。
    • 啊,我明白了。但恐怕我不知道如何让它同时缩放和流动。 :(
    猜你喜欢
    • 2022-01-23
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多