Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   3 колонки % px % (https://javascript.ru/forum/xhtml-html-css/23186-3-kolonki-%25-px-%25.html)

Артем125 15.11.2011 15:56

3 колонки % px %
 
Здравствуйте!

Подскажет, пожалуйста, как можно получить такую резиновую верстку: 3 колонки % px %. Примерный эквивалент
<table width="100%"><tr><td width="50%">ляля</td><td width=100><td width="50%">ляля</td></tr></table>


например так не работает, поскольку left-block и right-block блоки набегают на central-block-const при масштабировании браузера


body {
margin: 0px;
padding: 0px;
background-color: #f0f0f0;
}

#main {
border: 1px solid #f00;
width:100;
padding:0px;
margin:0px;
position:relative;
overflow:hidden;
}

#central-block-const {
border: 1px solid #ff0;
width:100px;
margin: 0px auto;
}

#left-block {
border: 1px solid #ff0;
width: 40%;
position:absolute;
top:0px;
left:0px;
margin:0px;
padding: 5px;
}


#right-block {
border: 1px solid #ff0;
width: 40%;
position:absolute;
top:0px;
right:0px;
margin:0px;
padding: 5px;
}

<div id="main">
        <div id = "central-block-const"><BR><BR><BR><BR><BR>
<BR></div>
        <div id="left-block">
left blockleft blockleft blockleft blockleft blockleft block
        </div>

        <div id="right-block">
left blockleft blockleft blockleft blockleft blockleft block
        </div>

</div>





Спасибо!

Kolyaj 15.11.2011 15:58

40% + 40% + 100px будет равно 100% только если вся ширина 500px. При любой другой ширине поведение будет непредсказуемое.

Артем125 15.11.2011 16:00

но ведь как то можно сделать дивами такое

Примерный эквивалент
<table width="100%"><tr><td width="50%">ляля</td><td width=100><td width="50%">ляля</td></tr></table>

ksa 15.11.2011 16:05

Цитата:

Сообщение от Артем125
но ведь как то можно сделать дивами такое

Будет 40% + 100px + все_остальное. И никак иначе... :D

ksa 15.11.2011 16:07

Либо просто 100px в центре, а остальное (лево и право) просто "пополам" от оставшегося...

Артем125 15.11.2011 16:13

Будет 40% + 100px + все_остальное.


может получиться, я понял, ksa - спасибо)!

Артем125 15.11.2011 16:37

еще вопрос, немного не в тему). по какому принципу задавать имена селекторам. можно конечно как угодно, но наверняка есть какой - то принцип, хочется сразу научиться правильно

Aetae 15.11.2011 16:40

Элементарно:
<!DOCTYPE HTML>
<html>
<body>   
<style>
.left{
float:left;
width:50%;
height:100%;
margin-left:-50px;
background-color: #fcc;
}
.right{
float:right;
margin-right:-50px;
width:50%;
height:100%;
background-color: #ccf;
}
.fixer{
margin:0 50px;
height:100%;
background-color: #cfc;
}

.main{
height:200px;
}
</style>
<div class="main">
  <div class="fixer">
    <div class="left">left</div>
    <div class="right">right</div>
    <div class="center">center</div>
  </div>
</div>
</body>
</html>

Kolyaj 15.11.2011 16:43

Цитата:

Сообщение от Артем125
по какому принципу задавать имена селекторам

http://vitaly.harisov.name/article/i...nt-blocks.html

Артем125 15.11.2011 16:48

Здорово! все спасибо!


Часовой пояс GMT +3, время: 05:39.