2 Страницы  1 2 >  
Ответить Создать тему

Проблема с СSS

Ghostl_doG
post Mar 23 2010, 13:53 
Отправлено #1


Постоялец

Сообщений: 337



Работа для учебы

Должно быть так
http://s44.radikal.ru/i105/1003/be/9da562dce0bb.jpg

А у меня
http://s50.radikal.ru/i129/1003/24/47b7b7065ed9.jpg

ссs
развернуть
Исходный код

.body {
border:1px solid #000000;
position:relative;
width:1025px;
height:100%;
margin:auto;
}
.header
{
position:relative;
width:1026px;
height:200px;
border-bottom:1px solid black;
}
.top-menu
{
position:relative;
border-bottom:1px solid black;
background-color:#DDDDDD;
width:1025px;
height:40px;
}
.index
{
 position:absolute;
 top:5px;
 left: 15px;
 width:106px;
}
.foto
{
 position:absolute;
 top: 5px;
 left: 130px;
 width:70px;
}
.contacts
{
 position:absolute;
 top: 5px;
 left: 210px;
 width:132px;
}
.main_menu
{
position:relative;
width:1025px;
height:100%;      //скорее всего тут ошибка
background-color:#FFFFFF;
}
.l_main_menu
{
 position:absolute;
 width:200px;
 height:100%;
 top:0px;
 left:0px;
 background-color:#DDDDDD;
 border-right:1px solid #000000;
}
 .banner1
 {
  border:1px solid #000000;
  position:absolute;
  width:150px;
  height:150px;
  left:25px;
  top:20px;
 }
 .banner2
 {
  border:1px solid #000000;
  position:absolute;
  width:150px;
  height:150px;
  left:25px;
  top:190px;
 }
.r_main_menu
{
 position:absolute;
 width:auto;
 height:100%;
 top:0;
 left:201px;
}
.footer
{
border-top:1px solid #000000;
background-color:#DDDDDD;
position:relative;
width:1025px;
height:20px;

}


html
Исходный код

<div class=body>
  <div class=header></div>
  <div class=top-menu>
       <div class=index></div>
       <div class=foto></div>
       <div class=contacts></div>
  </div>
  <div class=main_menu></div>
       <div class=l_main_menu></div>
       <div class=r_main_menu></div>
  <div class=footer></div>
</div>


хочется узнать, что я делаю не так

Сообщение отредактировал Ghostl_doG - Mar 23 2010, 15:45
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 15:38 
Отправлено #2


Активный

Сообщений: 1 370



Цитата(Ghostl_doG @ Mar 23 2010, 13:53)
html
Исходный код

<div class=body>
  <div class=header></div>
  <div class=top-menu></div>
       <div class=index></div>
       <div class=foto></div>
       <div class=contacts></div>
  <div class=main_menu></div>
       <div class=l_main_menu></div>
       <div class=r_main_menu></div>
  <div class=footer></div>
</div>

*
A HTML у вас не таким разве должен быть
Исходный код

<div class=body>
  <div class=header></div>
  <div class=top-menu>
       <div class=index></div>
       <div class=foto></div>
       <div class=contacts></div>
  </div>
  <div class=main_menu>
       <div class=l_main_menu></div>
       <div class=r_main_menu></div>
  </div>
  <div class=footer></div>
</div>



Сообщение отредактировал foo-bar - Mar 23 2010, 15:39
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 15:44 
Отправлено #3


Постоялец

Сообщений: 337



Цитата(foo-bar @ Mar 23 2010, 15:38)
A HTML у вас не таким разве должен быть
Исходный код

<div class=body>
  <div class=header></div>
  <div class=top-menu>
       <div class=index></div>
       <div class=foto></div>
       <div class=contacts></div>
  </div>
  <div class=main_menu>
       <div class=l_main_menu></div>
       <div class=r_main_menu></div>
  </div>
  <div class=footer></div>
</div>

*


так и есть, спутал когда писал =)
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 15:52 
Отправлено #4


Активный

Сообщений: 1 370



Исходный код
.main_menu
{
position:relative;
width:1025px;
height:100%;      //скорее всего тут ошибка
background-color:#FFFFFF;
}
В CSS для комментариев используются /* и */. Думаю если уберете, комментарий c //, то Статья 1, Статья 2 и т.д будут на белом фоне.
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 17:35 
Отправлено #5


Постоялец

Сообщений: 337



Цитата(foo-bar @ Mar 23 2010, 15:52)
Исходный код
.main_menu
{
position:relative;
width:1025px;
height:100%;      //скорее всего тут ошибка
background-color:#FFFFFF;
}
В CSS для комментариев используются /* и */. Думаю если уберете, комментарий c //, то Статья 1, Статья 2 и т.д будут на белом фоне.
*


комментария у меня в сss у меня нет, я их тут добавил
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 17:38 
Отправлено #6


Активный

Сообщений: 1 370



Так я не понял проблема решена или нет?
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 18:24 
Отправлено #7


Постоялец

Сообщений: 337



проблема не решена, про то что ты говорил это только ошибки во время написание темы
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 19:46 
Отправлено #8


Активный

Сообщений: 1 370



Таки пришлось мне создать тестовый файл smile.gif

Место ошибки ты указал правильно: для div.main_menu ты указал высоту 100%, которые будут считаться относительно родителя div.body. Высота div.body тоже 100%, которые будут считаться относительно родителя body. А высота для body нигде не указана. Таким образом, браузер не может подсчитать высоту для div.main_menu.

Исправить можно, например, так:

Исходный код
html, body {height: 100%;}

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

PS: кстати в quirks режиме страница отображается как ты и хочешь smile.gif

Сообщение отредактировал foo-bar - Mar 23 2010, 19:48
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 21:16 
Отправлено #9


Постоялец

Сообщений: 337



спасибо, что постарался помочь. но все равно меня результат не устроил.
а надо как я понял примерно следующие:
height:100%-[размер хедера]-[размер верхнего меня]-[размер нижнего меню];

но как это делается я не знаю
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 21:47 
Отправлено #10


Активный

Сообщений: 1 370



Цитата(Ghostl_doG @ Mar 23 2010, 21:16)
а надо как я понял примерно следующие:
height:100%-[размер хедера]-[размер верхнего меня]-[размер нижнего меню];
*

Честно говоря не понял что ты этим хотел сказать... Объясни что ты хочешь получить в результате.
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 21:58 
Отправлено #11


Постоялец

Сообщений: 337



я хотел что бы он для нахождения высоты div.main_menu вычитывал:
div.main_menu=100%(div.body)-200px(div.header)-40px(div.top_menu)-20px(div.footer)

т.е. что нахождения нужно высоты он производил математическое действие, а это в css невозможно.
и получилось бы
100%(div.body)=200px(div.header)+40px(div.top_menu)+div.main_menu+20px(div.footer)

а сейчас она делает (если делать html, body {height: 100%;}) :

result=100%(div.body)+ (100%(div.body)-div.main_menu)
Profile CardPM
  0/0  
foo-bar
post Mar 23 2010, 23:27 
Отправлено #12


Активный

Сообщений: 1 370



Проще говоря вам надо прижать .footer к низу страницы?
Profile CardPM
  0/0  
Ghostl_doG
post Mar 23 2010, 23:55 
Отправлено #13


Постоялец

Сообщений: 337



Цитата(foo-bar @ Mar 23 2010, 23:27)
Проще говоря вам надо прижать .footer к низу страницы?
*


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

Сообщение отредактировал Ghostl_doG - Mar 24 2010, 00:01
Profile CardPM
  0/0  
foo-bar
post Mar 24 2010, 00:57 
Отправлено #14


Активный

Сообщений: 1 370



Кажется я понял что вы хотите smile.gif

Вы хотите чтобы высота div.main_menu была по высоте его контента?

развернуть
Исходный код
 .body {
  border:1px solid #000000;
  position:relative;
  width:1025px;
  margin:auto;
 }
 .header
 {
  position:relative;
  width:1026px;
  height:200px;
  border-bottom:1px solid black;
 }
 .top-menu
 {
  position:relative;
  border-bottom:1px solid black;
  background-color:#DDDDDD;
  width:1025px;
  height:40px;
 }
 .index
 {
  position:absolute;
  top:5px;
  left: 15px;
  width:106px;
 }
 .foto
 {
  position:absolute;
  top: 5px;
  left: 130px;
  width:70px;
 }
 .contacts
 {
  position:absolute;
  top: 5px;
  left: 210px;
  width:132px;
 }
 .main_menu
 {
  position:relative;
  width:825px;
  background-color:#FFFFFF;
  border-left: 200px solid #ddd;
 }
 .l_main_menu
 {
  position:absolute;
  width:200px;
  top:0px;
  left:-200px;
  background-color:#DDDDDD;
 }
 .banner1
 {
  border:1px solid #000000;
  position:absolute;
  width:150px;
  height:150px;
  left:25px;
  top:20px;
 }
 .banner2
 {
  border:1px solid #000000;
  position:absolute;
  width:150px;
  height:150px;
  left:25px;
  top:190px;
 }
 .r_main_menu
 {
  border-left: 1px solid #000;
  width:auto;
 }
 .footer
 {
  border-top:1px solid #000000;
  background-color:#DDDDDD;
  position:relative;
  width:1025px;
  height:20px;
 }
Profile CardPM
  0/0  
Ghostl_doG
post Mar 24 2010, 08:01 
Отправлено #15


Постоялец

Сообщений: 337



спасибо что помогли и поняли что я хотел.
только мне хотелось бы разобрать, что вы изменили и по какой причине
Profile CardPM
  0/0  

2 Страницы  1 2 >
ОтветитьTopic Options
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
Быстрый ответ
Кнопки кодов
 Расширенный режим
 Нормальный режим
    Закрыть все тэги


Открытых тэгов: 
Введите сообщение
Смайлики
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
smilie  smilie  smilie  smilie  smilie 
         
Показать все

Опции сообщения