Jump to content
  • 0

Проблема с div-ами...


Mark Ghaphes
 Share

Question

Есть некоторая задача:

"Сделать два резиновых столбца. Первый — 20% по ширине, второй — 80%, между ними расстояние 20 пикселей, расстояния от краёв страницы слева и справа 10 пискелей. Без использования таблиц и javascript."

Мой вопрос такой:

Как сделать расстояние 20px. между колонками, если 20%+80%=100% т.е. вся доступная ширина, которая исключает еще какие-либо размеры вроде "20px".

Link to comment
Share on other sites

Recommended Posts

  • 0

Padding создает внутренние отступы в четырёх направлениях, среди которых нет направления "между"...поэтому создавать обьединяющий контейнер для использования паддинга нет смысла, а если использовать margin, то он вытесняет правый контейнер...

Link to comment
Share on other sites

  • 0

Padding создает внутренние отступы в четырёх направлениях, среди которых нет направления "между"...поэтому создавать обьединяющий контейнер для использования паддинга нет смысла, а если использовать margin, то он вытесняет правый контейнер...

)) значит padding-left

Edited by Un1x
Link to comment
Share on other sites

  • 0

Ну я же пишу левый - 20%, правый - 80%, вместе - 100%. Это значит что, что бы вставить между ними блок, его прежде всего нужно поместить в общий контейнер вместе со всеми остальными, и назначить ширину, которой нет, потому что левый и правый занимают 100% ширины.

Link to comment
Share on other sites

  • 0

Ну я же пишу левый - 20%, правый - 80%, вместе - 100%. Это значит что, что бы вставить между ними блок, его прежде всего нужно поместить в общий контейнер вместе со всеми остальными, и назначить ширину, которой нет, потому что левый и правый занимают 100% ширины.

так если 100% - это вся ширина экрана, то о чём ты говоришь просто не возможно)) делай отступ у одного из блоков и всё

Link to comment
Share on other sites

  • 0

Мне эту задачу один из опытных верстальщиков дал, хотел проверить меня на мою базу знаний, прежде чем принять меня на работу.

Вот я и думаю, в ком сомневаться, в себе, не опытном, или в нем, который имеет хороший стаж?..

Link to comment
Share on other sites

  • 0

.sidebar-wrap, .content-wrap {float: left;}
.sidebar-wrap {width: 20%;}
.content-wrap {width: 80%;}
.sidebar, .content {margin: 0 10px;}

<div class="sidebar-wrap">
<div class="sidebar">sidebar</div>
</div>
<div class="content-wrap">
<div class="content">content</div>
</div>

Edited by troll
Link to comment
Share on other sites

  • 0

Мой код делает 2 колонки, занимающие в определенной пропорции всю ширину окна и разделенные заданным расстоянием. Если это не то, что вам нужно, значит, я неверно понял задачу.

Link to comment
Share on other sites

  • 0

Ваш код, troll:


<html>
<head>

<title>Nothing</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
body {background-color:white; color:white;}
.sidebar-wrap, .content-wrap {float: left;}
.sidebar-wrap {width: 20%; height:500px; background-color:black;}
.content-wrap {width: 80%; height:500px; background-color:grey; }
.sidebar, .content {margin: 0 10px;}
</style>

</head>
<body>

<div class="sidebar-wrap">
<div class="sidebar">sidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebarsidebar</div>
</div>
<div class="content-wrap">
<div class="content"><p>contentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontentcontent</p></div>
</div>

</body>
</html>

Результат:

h_1316384219_4855519_20aca1791e.jpeg

Такая же ситуация во всех браузерах. Что не так?

Link to comment
Share on other sites

  • 0

  1. Отсутствует доктайп (хотя в данном случае, наверное, он ни на что не повлияет)
  2. Фон нужно назначать внутренним слоям - sidebar и content
  3. Между словами стоит расставить пробелы, чтобы убрать полосу прокрутки

Edited by troll
Link to comment
Share on other sites

  • 0

Я присвоил фон внутренним слоям как вы и сказали. В принципе, ваш код очень даже рабочий и по сути задача решена. Благодарю...

Edited by Mark Ghaphes
Link to comment
Share on other sites

  • 0

Пока смог придумать только вариант с абсолютным позиционированием одного из блоков. Либо без, но только для жестко фиксированной высоты всей конструкции. Насколько понимаю, не то... думаю дальше. IE6 без хаков особенно занимает, по идее, решение должно быть не просто простым, а простым до безобразия...

Link to comment
Share on other sites

  • 0

Интересное задание.

А можно попробовать так.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
html, body {
font-size: 100.01%;
height: 100%;
margin:0;
padding:0;
}
body {background-color:white; color:red; font-weight: bold; font: 0.75em/1 "Verdana"; padding: 0 10px; overflow: hidden;}
div.wrapper {
width: 80%;
float: right;
}
div.content {
margin: 0 0 0 20px;
background: #CCFF99;
}
div.sidebar {
width: 20%;
background: #CC9900;
}
</style>

</head>
<body>
<div class="wrapper">
<div class="content">content</div>
</div>
<div class="sidebar">sidebar</div>
</body>
</html>

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