Резиновый дизайн
Всем привет,
Задача тривиальная. Есть три дива, идут слева направо: левый сайдбар, див с контентом, правый сайдбар. Хочу чтобы сайт тянулся на всю область. Есть вариант задать width для всех трех в процентах, но я не хочу чтобы сайдбары тянулись. Нужно, чтобы сайдбары имели фиксированную ширину. Например, я задал width для сайдбаров = 200px, как теперь сделать так, чтобы средний див занимал всю область между сайдбарами?? Если поставить ему width=100%, то понятное дело, он занимает всю область контейнера, и всё разъежается. |
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>…</title>
<style>
body {
margin: 0;
min-width: 600px;
}
header {
height: 80px;
background: #cff;
}
.wrapper {
float: left;
width: 100%;
margin-left: -200px;
background: #fcc;
}
.wrapper .inner-wrapper {
float: right;
width: 100%;
margin-left: -400px;
background: #fcf;
}
.wrapper article {
margin-left: 400px;
background: #fee;
}
.wrapper .sidebar-1 {
float: left;
width: 200px;
margin-left: 200px;
background: #cfc;
}
.sidebar-2 {
float: right;
width: 200px;
background: #ccf;
}
footer {
clear: both;
height: 80px;
background: #ffc;
}
</style>
</head>
<body>
<header>header</header>
<div class="wrapper">
<div class="inner-wrapper">
<article>content content content content content content content content content content content content content content content content content content content content content content content content content content content content</article>
</div>
<aside class="sidebar-1">sidebar 1</aside>
</div>
<aside class="sidebar-2">sidebar 2</aside>
<footer>footer</footer>
</body>
</html>
|
Я обычно делаю так:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>…</title>
<style>
body {
margin: 0;
min-width: 600px;
}
.header {
height: 50px;
background: #cff;
}
.right {
float: right;
width: 200px;
background: #ccf;
}
.left {
width: 200px;
float: left;
background: #cfc;
}
.wrapper {
padding: 0 200px 0 200px;
background: #fcc;
}
.content {
background: #fee;
}
.footer {
height: 50px;
background: #ffc;
}
</style>
</head>
<body>
<div class="header">Header</div>
<div class="left">left block</div>
<div class="right">right block</div>
<div class="wrapper">
<div class="content">
content content content content content content content content content content content content content content content content content content content content content content content content content content content content
</div>
</div>
<div class="footer">Footer</div>
</body>
</html>
Этот метод мне почему то кажется куда приятнее :) |
SEOшники загрызут за такое расположение контента ;)
|
Цитата:
У вас какие-то злые сеошники. В обоих вариантах грызть особо не за что. На сайте главное контент, а верстка не должна содержать мусор. В теоретическом аспекте твой вариант лучше, на практике зависит от контента. Посмотреть на эффект применения <aside> и <article> у меня пока что не было возможности. Опять же применение этих тэгов делает место расположение их на странице практически любым, главное чтобы они там были и желательно в одинаковых местах. Мне кажется что оптимизировать нужно там, где есть что оптимизировать. Если заглядывать в будущее, то вариант Octane мне больше нравиться, как минимум по тому, что пользователи увидят сначала Content, а потом всякие меню и рюшечки. devote, Зачем использовать html5 и не использовать его преимущества? |
Цитата:
|
Цитата:
И да добавлю, в первую очередь я должен думать как мне заработать больше денег, а не о том как сделать так что бы сеошники их зарабатывали проще и быстрее. Я работаю в первую очередь для себя, и не намерен тратить время на то что бы какой-то сеошник щелкнул двумя пальцами и срубил денег, так как за него сделали всю грязную работу. А он получает сливки... Лично я на позиции программиста... Мой вариант мне нравиться тем, что каждый блок имеет свой отдельный элемент и не привязан к к другому элементу... То-есть любой блок легко отключить, убрать, поместить в другой файл и т.д. ИМХО |
Цитата:
document.createElement("header");
document.createElement("footer");
document.createElement("aside");
…
и добавить display:block для новых элементов, во всех остальных актуальных браузерах работает без костылей. Конечно для конкретных проектов надо оценивать аудиторию и исходя из этого выбирать используемые технологии, но на многих проектах уже можно использовать HTML5 и забить на пользователей IE<9 с отключенным JavaScript.Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 18:57. |