Jump to content
  • 0

Опять ж таки резиновый дизайн двухколоночный


AntonSubbota
 Share

Question

Народ, знаю, что резиновый дизайн двух колонок обсуждался сто раз. Но нигде не встречал именно верстки, удовлетворяющей следующим условиям:

1) верстаем блоками

2) две колонки. первая - фиксированной ширины, слева. вторая - растягивается во всю ширину экрана

3) высота обоих колонок одинаковая (контент любой колонки задает высоту и другой колонки)

4) наконец, высота другой колонки реальная, а не задается border.

Есть решение этой задачи?

<div id="header"></div>

<div id="content">

<div id="left_col"></div>

<div id="right_col"></div>

</div>

<div id="footer"></div>

Какой-нибудь css к этому....

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
3) высота обоих колонок одинаковая (контент любой колонки задает высоту и другой колонки)

Может кто знает есть ли возможность исполнить это требование без JS, только HTML/CSS?

Link to comment
Share on other sites

  • 0
Смотрите тут :studoad

Спасибо! Но у этого кода недостаток - неравная высота колонок. Если в любую из них набить текст, вторая по высоте не увеличится (а им нужна одинаковая высота).

Картинку того, что хотите получить, не покажете?

Да, конечно.

000000023.gif

Link to comment
Share on other sites

  • 0
А левая колонка фикс?

Да, фикс. Левая допустим 200 пикселей, правая во всю ширину.

И можно ли сделать реально левую колонку высотой с правой (и наоборот, смотря кто длиннее)?

Без javascript, без использования якобы одинаковой высоты (под ней я имею ввиду например такие способы: http://psywalker.ru/Forum/Column_height/main2.html

если уберем загругления, поставим бордеры трем колонками, они будут разной высоты).

Link to comment
Share on other sites

  • 0
Да, фикс. Левая допустим 200 пикселей, правая во всю ширину.

И можно ли сделать реально левую колонку высотой с правой (и наоборот, смотря кто длиннее)?

Без javascript, без использования якобы одинаковой высоты (под ней я имею ввиду например такие способы: http://psywalker.ru/Forum/Column_height/main2.html

если уберем загругления, поставим бордеры трем колонками, они будут разной высоты).

А чем не подходят другие варианты, которые вам уже дали? Хотябы этот?

Link to comment
Share on other sites

  • 0
Да, фикс. Левая допустим 200 пикселей, правая во всю ширину.

И можно ли сделать реально левую колонку высотой с правой (и наоборот, смотря кто длиннее)?

Без javascript, без использования якобы одинаковой высоты (под ней я имею ввиду например такие способы: http://psywalker.ru/Forum/Column_height/main2.html

если уберем загругления, поставим бордеры трем колонками, они будут разной высоты).

Тогда тут не надо парится даже. На html,body вешаешь один фон, далее на каркас левый для левой колонки, далее внутрь шапку, внизу прибиваешь подвал, а в середине уже какие нужно колонки и всё ;)

Link to comment
Share on other sites

  • 0
А чем не подходят другие варианты, которые вам уже дали? Хотябы этот?

Это - честно скажу - оставил на потом, т.к. на аглицком, в котором я не силен.

Пробовал сделать, как они показали - сходу не получилось.

Надо разбираться, почему проценты берутся такие - 26,36,70,80,...

И кстати - это действительно колонки расширяются или это снова якобы они расширяются?

Link to comment
Share on other sites

  • 0
Тогда тут не надо парится даже. На html,body вешаешь один фон, далее на каркас левый для левой колонки, далее внутрь шапку, внизу прибиваешь подвал, а в середине уже какие нужно колонки и всё :)

Честно говоря, не понял. Раньше всегда верстал таблицами (структуру задавал), блоками верстаю недавно... Напишите код, пожалуйста...

Link to comment
Share on other sites

  • 0
Честно говоря, не понял. Раньше всегда верстал таблицами (структуру задавал), блоками верстаю недавно... Напишите код, пожалуйста...

Лови дружище

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
*{ margin:0; padding: 0;}
html,body { height: 100%;}
body { background: #ff0 url(right_bg.jpg); min-width: 400px;}

/* wrapper */
div.wrap { min-height: 100%; position: relative; background: url(left_bg.jpg) left repeat-y;}

/* header and footer */
div.wrap div.head { height: 100px; background: red;}
div.wrap div.foot {
position: absolute;
bottom: 0;
left: 0;
height: 100px;
width: 100%;
background: red;
}

/* basis content */
div.basis { overflow: hidden; padding-bottom: 120px;}

div.sidebar { float: left; width: 300px;}
div.content { overflow: hidden;}

</style>
<!--[if lte IE 6]>
<style type="text/css">

body { width:expression(document.documentElement.clientWidth < 500 ? "500px" : "auto");}
div.wrap { height: 100%;}
div.basis,
div.content{ zoom:1;}


</style>
<![endif]-->
</head>
<body>

<!-- wrapper -->
<div class="wrap">

<!-- header -->
<div class="head">Header</div>

<!-- basis content -->
<div class="basis">

<!-- sidebar -->
<div class="sidebar"> Sidebar</div>

<!-- content -->
<div class="content">

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem
nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat.</p>
<p>Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper
suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p>

</div>

</div><!-- out basis -->

<!-- footer -->
<div class="foot">Footer</div>

</div><!-- out wrapper -->

</body>
</html>

Link to comment
Share on other sites

  • 0
Лови дружище

Спасибо большое за код, но если скажем прописать для sidebar свойство border:1px solid red;

то будет видно, что высотой блок лишь в одну строку. А возможно ли сделать его высотой с колонку справа?

Я слышал про метод padding-bottom:99999px; margin-bottom:-99999px;

может, это поможет?

Link to comment
Share on other sites

  • 0
Спасибо большое за код, но если скажем прописать для sidebar свойство border:1px solid red;

то будет видно, что высотой блок лишь в одну строку. А возможно ли сделать его высотой с колонку справа?

Я слышал про метод padding-bottom:99999px; margin-bottom:-99999px;

может, это поможет?

Тогда у тебя будут проблемы с нижним бордером, так как он будет отрезан overflow: hidden; и потом не используй такие огромные числа, ни к чему это, достаточно margin-bottom:-30000px;

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy