Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Блочная верстка
Нужна помощь по CSS

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

kquark

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть Html:

Код:
<div id="col1">col1</div>
<div id="col2">col2</div>
<div id="col3">col3</div>
<div id="col4">col4</div>
 

 
Подскажите пожалуйста способ(css), которым можно его сверстать резиновым без изменения структуры html, чтоб выглядело вот так:
 
   
(http://img273.imageshack.us/img273/3026/page6me.png)
 
Фактически 3 колонки. Первая – col1 и под ней col3. Вторая – col2. И третья – col4.
Высота у всех блоков  нефиксированная  
 
Пытался это сделать используя свойство float, интересуюсь блочной версткой недавно, потому, видимо, не получилось.

Всего записей: 5 | Зарегистр. 17-12-2005 | Отправлено: 18:40 27-12-2005
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
<html>
 <head>
 <style>
  #container {
   float: left;
   clear: both;
   width: 100%;
  }
  #col {
   float: left;
   width: 33%;
  }
  #col DIV {
   margin: 5px;
   padding: 3px;
  }
  .red {
   background-color: #F00;
  }
  .orange {
   background-color: orange;
  }
  .green {
   background-color: green;
  }
  .blue {
   background-color: blue;
  }
 </style>
 </head>
 <body>
  <h1> Пример CSS верстки для трехколоночной модели </h1>
  <div id="container">
   <div id="col">
    <div class="red">&nbsp; col 1</div>
    <div class="orange">&nbsp; col 1</div>
   </div>
   <div id="col">
    <div class="green">&nbsp; col 2</div>
   </div>
   <div id="col">
    <div class="blue">&nbsp; col 3</div>
   </div>
  </div>
 </body>
</html>
 

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 12:10 28-12-2005
kquark

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik, cпасибо большое за отклик. Но в том и проблема, что не хочется загонять первый и третий блок в один общий. Ведь, насколько я понимаю, радость от верстки с помощью CSS как раз и состоит в том, что для полного редизайна страницы достаточно просто подключить к ней другой стиль, не меняя при это html-код. Все равно спасибо.

Всего записей: 5 | Зарегистр. 17-12-2005 | Отправлено: 21:35 28-12-2005
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kquark
юзай позиционирование: в процентах.

Цитата:
радость от верстки

не разделяю.
 
 
 

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 23:08 28-12-2005 | Исправлено: Ternik, 09:50 31-12-2005
barbos



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот статья про использование отрицательных полей для "зарезинивания" та есть и для 3-колоночной:_webmascon.com/topics/coding/43a.asp.htm полезно почитать и другие статьи. На сайте в основном переводы из _www.alistapart.com/index.htm

Код:
 
<!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" xml:lang="en">
 
<head>
<title>Example 5: Negative Margins</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />  
 
<style type="text/css" media="screen">
/*<![CDATA[*/
#header {
    border: 1px solid #cecea5;
    background: #d7dabd;
}
#outer_wrapper {
    background: #fff url(backgrou.gif) repeat-y left;
}
#wrapper {
    background: url(backgrou.gif) repeat-y right;
}
 
#container {
    width: 100%;
    float: left;
    margin-right: -200px;
    background: url(backgrou.gif) repeat-y right;
}
#content {
    margin-right: 200px;
    background: url(backgrou.gif) repeat-y left;
}
#main {
    margin-left: 150px;
}
#left {
    width: 150px;
    float: left;
}
#sidebar {
    width: 200px;
    float: right;
}
#footer {
    border: 1px solid #cecea5;
    background: #d7dabd;
}
h1 {
    margin-top: 0;
}
.last {
    margin-bottom: 0;
}
.clearing {
    height: 0;
    clear: both;
}
/*]]>*/
</style>
</head>
 
<body>
 
<div id="header">header</div>
 
<div id="outer_wrapper">
 
    <div id="wrapper">
        <div id="container">
            <div id="content">
            
                <div id="left">
                    <h1>navbar</h1>
                    <ul>
                        <li>link one</li>
                        <li>link two</li>
 
                    </ul>
                </div>
                
                <div id="main">
                    <h1>content</h1>
                    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  Phasellus varius eleifend tellus. Suspendisse potenti. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla facilisi. Sed wisi lectus, placerat nec, mollis quis, posuere eget, arcu.</p>
                    <p class="last">Donec euismod. Praesent mauris mi, adipiscing non, mollis eget, adipiscing ac, erat. Integer nonummy mauris sit amet metus. In adipiscing, ligula ultrices dictum vehicula, eros turpis lacinia libero, sed aliquet urna diam sed tellus. Etiam semper sapien eget metus.</p>
                </div>
 
                
            </div>
        </div>
        
        <div id="sidebar">
            <h1>sidebar</h1>
            <p>Here be your sidebar. Add whatever content you may desire.</p>
        </div>
        
        <div class="clearing">&nbsp;</div>
    </div>
 
</div>
 
<div id="footer">footer</div>
 
</body>
</html>
<!--http://www.alistapart.com/d/negativemargins/ex5.htm-->
 

Всего записей: 206 | Зарегистр. 30-12-2003 | Отправлено: 03:43 29-12-2005 | Исправлено: barbos, 03:46 29-12-2005
kquark

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
barbos, спасибо, но это не совсем то, что я хотел. Эту статью я читал. Похожий способ предложил Ternik, дело сводится к разделению на 3 колонки. Я же не хочу объединять блоки в колонки, т.к. не вижу потом возможности изменить их расположение средствами CSS, не меняя html. Изначальная задача стояла примерно в том, чтобы написать одну html страницу и сделать к ней две таблицы стилей, так, чтобы дизайн серьезно отличался. Например, я пытался написать 2 таблицы стилей так, чтобы, при подключении первой таблицы получалось то, что дано на первом рисунке, а если подключить другую, то получалось тоже самое, но блоки "col3" и "col4" менялись местами.

Всего записей: 5 | Зарегистр. 17-12-2005 | Отправлено: 19:52 29-12-2005
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kquark
#col1 {
 width: 25%;
}
#col2 {
 width: 25%;
}
#col3 {
 position: absolute;
 left: 25%;
 width: 50%;
}
#col4 {
 position: absolute;
 left: 75%;
 width: 25%;
}
что-то подобное...

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 09:53 31-12-2005
kquark

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik,  думаю, этот метод оптимальный. Спасибо большое.

Всего записей: 5 | Зарегистр. 17-12-2005 | Отправлено: 14:57 31-12-2005
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, проблемка есть, кто подскажет!
Использовать в выводе, шаблоне много записей будет идти,
как я понял использовать только один раз див?!
 
<div class="lev">Тут текст левый 1</div>
<div class="prv">Тут текст правый 2</div>
 
<div class="lev">Тут текст левый 1</div>
<div class="prv">Тут текст правый 2</div>
 
<div class="lev">много див </div>
<div class="prv"> много див </div>
 
как решить проблему?
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 22:59 14-02-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
phpbbmods

Цитата:
Использовать в выводе, шаблоне много записей будет идти,  
как я понял использовать только один раз див?!  

чего? сам понял, что спросил?  кроме дива есть еще и span

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:02 14-02-2006
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
class="lev" можно использовать один раз в документе, на сколько я понял!
span – не юзал,
надо чтобы текст был на одном уровне!

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 23:05 14-02-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
phpbbmods

Цитата:
надо чтобы текст был на одном уровне!

вот и юзай span.. а хочется div, то для него display:inline
 

Цитата:
class="lev" можно использовать один раз в документе, на сколько я понял!  

стиль можно юзать сколько угодно раз в документе..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:06 15-02-2006 | Исправлено: Cheery, 01:08 15-02-2006
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
display:inline Cпасибо тоже пригодится!
но вот пробую по другому  
типа такого

Код:
 
<html>  
 <head>  
 <style type="text/css">
.main {
 width:100%;  
  padding: 5px;
}
 
 .lev {
  padding: 5px;  
  float:left;
}
 </style>  
 </head>  
<body>
 
<table border="1" width="600" align="center">
    <tr>
        <td width="150" valign="top">лево</td>
        <td>
        
        <div class="main">
        <div class="lev"><img border="0" src="1.gif" width="128" height="128"></div>
        текст много текста текст много текста текст много текста текст много текста текст много текста  
        текст много текста текста текст много текста текст много текста текста текст много текста текст
        </div>
        
        <div class="main">
        <div class="lev"><img border="0" src="2.gif" width="128" height="128"></div>
        текст много текста текст много текста текст много текста текст много текста текст много текста  
        текст много текста текста текст много текста текст много текста текста текст много текста текст
        </div>
        
        <div class="main">
        <div class="lev"><img border="0" src="3.gif" width="128" height="128"></div>
        текст много текста текст много текста текст много текста текст много текста текст много текста  
        текст много текста текста текст много текста текст много текста текста текст много текста текст
        </div>
        
        </td>
    </tr>
</table>
 
</body>
</html>  
 

 
правильно ли!
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 10:14 15-02-2006
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще нашел такое http://css.maxdesign.com.au/listamatic2/index.htm
Эти вещи работают во всех браузерах!?

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 20:33 15-02-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Блочная верстка


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.B0ard 2000-2026

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru