2013-02-27 90 views
1

请到这里: http://demo.thecogworks.co.uk/umbraco/login.aspx如何使div大小填充整个浏览器窗口?

登录此帐户: 用户:演示 密码:password

现在尝试调整浏览器窗口,看到的div浏览器窗口大小调整。我想它不适用于只有CSS。我对么?我该如何创建类似的东西?

+0

在我看来,基本的CSS布局灵活设计。或者我错过了什么?...你应该在这里发布一个编码问题。 – Fico 2013-02-27 02:55:11

+0

它看起来像一开始,但如果仔细观察,您可以看到div和div与div之间的空间,而浏览器的窗口始终是相同的。我不知道该怎么做。我认为这与JavaScript有关。 – 2013-02-27 04:31:11

回答

4

它只适用于css(如果您希望它在移动设备上正确显示,也可以使用“视口”元标记)。

如果你希望你的html页面的行为像你必须使用%作为宽度(例如宽度:100%)。在这种情况下,div的宽度将基于(相关于)视口的大小 。

这就是所谓的灵活布局。这是创建响应式网页的途径之一。

你可以在这里阅读更多:

4

你是正确的,在你提供的示例页面不使用纯CSS,但使用JavaScript来渲染调整窗口大小的CSS。

从你的榜样的线(与联样式在HTML输出):

<div id="treeWindow" class="panel" style="height:380px;width:200px;"> 

所以在示例文档样式的所有措施都分配有绝对单元 - 像素,也不要在浏览器中调整窗口大小调整。因此,在术语来调整它使用类似于

var clientWidth=jQuery(window).width(); 
var leftWidth=parseInt(clientWidth*0.25); 

,以获得新的浏览器窗口宽度和HIGHT

var clientHeight=jQuery(window).height()-48; 
var treeHeight=parseInt(clientHeight-5); 

和功能,那么

function resizeGuiWindow(windowName,newWidth,newHeight,window){ 
    resizePanelTo(windowName,false,newWidth,newHeight); 
} 

应用到treeWindow相似物体

resizeGuiWindow("treeWindow",leftWidth,treeHeight); 

这可以在示例页面的源代码中找到。 但是,你可以通过在样式中使用相对单位来完成所有这些。

阅读有关响应式设计,自适应CSS和流体布局的更多信息。

编辑:我几乎与Georgii同时发布了答案。尽管他没有直接回答关于您的示例页面的问题,但他所说的都是正确的,他在灵活的布局中添加了一些很好的来源,您可以在其中找到所有信息以仅使用css构建类似的页面。

3

在流体布局上重新进行操作后,我终于可以在CSS(无javascript)中创建整个布局。下面是的jsfiddle工作版本:http://jsfiddle.net/Yv4ja/的人谁以后可能需要它:

CSS:

.left{ 
    position:absolute; 
    width:30%; 
    background:red; 
    left:0; 
    bottom:0px; 
    top:100px; 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 
.right{ 
    overflow:hidden; 
    background:green; 
    position:absolute; 
    right:0; 
    width:70%; 
    bottom:0px; 
    top:100px; 
} 

html, body{ 
    min-height:100%; 
    height:100%; 
    padding:0px; 
    margin:0px; 
    position:relative; 
} 



.header{ 
    width:100%; 
    height:100px; 
    background:yellow; 
} 

.left .content { 
    background:blue; 
    position:absolute; 
    top:5px; 
    left:5px; 
    right:5px; 
    bottom:100px; 
    overflow:auto; 
    padding:5px; 
    border:1px solid yellow; 
} 

.left .bottom-content { 
    height:100px; 
    position:absolute; 
    left:5px; 
    right:5px; 
    bottom:5px; 
    background:black; 
} 

HTML:

<div class="header">header</div> 
<div class="wrapper"> 
    <div class="left"> 
     <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin aliquam adipiscing augue a porta. Sed fringilla sodales nisl ut iaculis. Aenean eu arcu lectus. Vivamus ut felis nibh, eu rutrum magna. In auctor varius ullamcorper. In diam turpis, ornare id pellentesque at, blandit et magna. Integer eget dolor tortor, sed vehicula magna. Quisque metus turpis, mollis porta feugiat vel, condimentum in eros. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec eu mi est, vel euismod velit. Vestibulum ante odio, molestie ut imperdiet eget, aliquet nec elit. Aenean arcu massa, vestibulum eu convallis ut, porttitor ut orci. Fusce eget sem augue, vitae placerat velit. Suspendisse interdum, nulla eget pharetra cursus, nunc elit iaculis nisl, vitae fringilla massa purus nec nunc. Quisque rutrum ornare turpis quis blandit. Mauris venenatis convallis elementum. 

Etiam ut magna dolor. Sed eget purus ut nulla feugiat egestas. Quisque quam ligula, dapibus non cursus quis, commodo at quam. Vivamus porttitor, urna nec ultricies scelerisque, massa purus congue ligula, in egestas lectus magna eget est. Ut commodo viverra augue non semper. Suspendisse potenti. In mollis ultrices posuere. Integer mollis, lacus et pretium molestie, elit felis tincidunt elit, at pellentesque turpis diam lacinia quam. 

Aenean vehicula, lorem et adipiscing molestie, orci nisl vulputate dui, et tempor erat nibh eget dolor. Nullam posuere lorem eu diam imperdiet et molestie arcu lobortis. Mauris vestibulum mollis lacus non imperdiet. Morbi tortor tortor, pulvinar nec viverra vitae, laoreet nec urna. Quisque in urna turpis. Nullam vel diam dui. Nunc scelerisque, arcu id pulvinar consectetur, purus elit euismod justo, in convallis lacus nisi vel velit. 

Aliquam porttitor condimentum sapien at consectetur. Integer ac diam id felis semper pretium. Integer elementum venenatis nunc, ac molestie mauris suscipit sed. Nunc porttitor eleifend ipsum, sit amet ornare lacus dapibus a. Integer adipiscing, quam sed malesuada vehicula, eros erat egestas quam, eu rutrum sem turpis sit amet elit. Pellentesque metus nisl, malesuada et sagittis at, molestie a sapien. Duis vestibulum porta lacus et ultrices. 

In auctor vulputate vestibulum. Integer porta quam ante, sed molestie leo. Aliquam cursus enim in augue euismod id porta eros gravida. Mauris lectus ipsum, luctus sit amet consectetur non, venenatis eget ligula. Suspendisse potenti. Vestibulum consequat accumsan orci ut lobortis. Maecenas velit diam, dapibus sit amet tincidunt eu, cursus in erat. Phasellus ac interdum lectus. Phasellus placerat, lacus vitae condimentum placerat, nisl dui varius ipsum, in eleifend metus diam sit amet libero. Vestibulum nec dolor at augue malesuada vestibulum. Praesent euismod, nibh a imperdiet convallis, est leo cursus elit, nec interdum ipsum mauris id urna. Integer at augue diam. Suspendisse tincidunt accumsan porta. Sed vehicula imperdiet velit et sagittis.</div> 
     <div class="bottom-content"></div> 
     </div> 

    <div class="right">right</div> 
</div> 
+0

我添加了一个边框到左边的div,并且想给这个边框留下一点空间,这样左边div的边框周围就会有一些空的空间,只是在填充浏览器窗口时没有填满它,但是我不能找到任何填充或边距修改产生一个很好的对齐结果? – Cel 2013-06-29 16:11:14

相关问题