2013-02-27 2 views
1

Пожалуйста, зайдите сюда: http://demo.thecogworks.co.uk/umbraco/login.aspxКак изменить размер div, чтобы заполнить все окно браузера?

Войти с этой учетной записи: Пользователь: демо Пароль: пароль

Теперь попробуйте изменить размер окна браузера и увидеть дивы размер с окном браузера. Я полагаю, что это не работает только с css. Я прав? Как я могу создать что-то подобное?

+0

Мне кажется, основной CSS дизайн гибкая планировка. Или я что-то упускаю? ... Вы должны написать здесь проблему с кодировкой. – Fico

+0

сначала выглядит так, но если вы посмотрите внимательно, вы увидите, что пространство между div и пространством от divs до края окна браузера всегда одно и то же. Я не знаю, как это сделать. Я думаю, что это связано с javascript. –

ответ

4

Он работает только с css (и может также иметь метатег «viewport», если вы хотите, чтобы он отображался правильно на мобильных устройствах.).

Если вы хотите, чтобы ваша страница 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, используя относительные единицы в стиле.

Подробнее об адаптивном дизайне, адаптивных CSS и жидкостных макетах.

Редактировать: Я отправил ответ почти одновременно с Георгием. Несмотря на то, что он прямо не ответил на вопрос о вашей странице примера, все, что он говорит, прав, и добавил хорошие источники гибких макетов, где вы можете найти всю информацию для создания подобной страницы только с помощью 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

Смежные вопросы