Перейти к содержимому



Блоки отображаются не так как хотелось бы

#1 kovyaro
kovyaro
  • Неактивные
  • 14 сообщений
  • Репутация: 0
0

Обновлено 23 февраля 2011 - 12:44  Отправлено 19 февраля 2011 - 21:50

Не могу создавать темы, поэтому, извините, спрошу здесь. Я первый раз, и не по своей воле, сел за программирование на HTML. Сразу же столкнулся с моментом, который не могу понять, если объясните, буду благодарен.
Вот код:

<body>
<div id="container0">
<div id="container1">
<div id="logo"> </div>
<div id="slog">
<font face="Tahoma, Geneva, sans-serif" color="#FFFFFF" size="+3">
<p align="center">Использование компьютерных технологий<br>в науке и образовании</p>
</font>
</div>
</div>
</div>
</body>


Код CSS:
#container0 {
	background:#CCC;
	height:auto;
	width:auto;
}
#container1 {
	background:#000000;
	margin:0 auto;
	margin-top:20px;
	text-align:left;
	height:168px;
	width:1000px;
}
#logo {
	background:url("Images/Logo.png") no-repeat;
	display:block;
	height:168px;
	width:200px;
}
#slog {
	background:#OOOOOO;
	margin-left:200px;
	display:block;
	height:168px;
	width:800px;
}

Проблема в том, что контейнер slog отображается под контейнером container1, а не внутри него, как по идее и задумывалось. Есть мысли, почему так?

 

 

  • 0

#2 ZiTosS
ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 20 февраля 2011 - 18:14

kovyaro, стоит вам посмотреть на вложенность блоков и на их размеры, прописанные в CSS и сразу всё становится понятно.
У нас такой расклад:
container1 - высота 168px
	  logo - высота 168px
	  slog - высота 168px
Думаю, заметно, что два дочерних блока размерами каждый по 168 ну никак не могут влезть в родительский, размером 168, т.к. суммарная высота дочерних - 168 + 168 = 336. Поэтому второму блоку ничего не остается как вылезти за родительские размеры.

P.s.: На языке HTML не программируют, а верстают.
  • 0

#3 kovyaro
kovyaro
    Topic Starter
  • Неактивные
  • 14 сообщений
  • Репутация: 0

Отправлено 21 февраля 2011 - 06:04

#logo {
background:url("Images/Logo.png") no-repeat;
display:block;
height:168px;
width:200px;
}

#slog {
background:#OOOOOO;
margin-left:200px;
display:block;
height:168px;
width:800px;
}


Если я правильно понял, то блок "logo" должен находиться в крайне левой позиции блока "container1", а контейнер "slog" смещен вправо на 200px (
margin-left:200px;
). Итого общая высота блоков "logo" и "slog" составляет 168, что равно высоте блока "container1". Суммарная длина блоков "logo" и "slog" равна длине блока "container1" (1000рх). Я могу ошибаться в своих представлениях.
  • 0

#4 yury
yury
  • Пользователь
  • 648 сообщений
  • Репутация: 195

Отправлено 21 февраля 2011 - 10:26

Если я правильно понял, то блок "logo" должен находиться в крайне левой позиции блока "container1", а контейнер "slog" смещен вправо на 200px. Итого общая высота блоков "logo" и "slog" составляет 168, что равно высоте блока "container1". Суммарная длина блоков "logo" и "slog" равна длине блока "container1" (1000рх). Я могу ошибаться в своих представлениях.

kovyaro,
по вашему коду блок "logo" должен располагаться внутри блока "container1",
а блок "slog" должен располагаться опять-таки внутри блока "container1" под блоком "logo" (именно так работает свойство display:block;)
а поскольку высоту родителя "container1" вы задали меньше, чем суммарная высота "slog" и "logo", то второй блок еще и вылезает за пределы "container1".
причем пытается расположиться с отступом от левого края родителя — блока "container1" на 200px (margin-left:200px;)
В результате имеем кашу на экране, типа, что варили то и получили. ;)
Если вам надо, чтобы ваши блоки располагались не друг под другом, а по горизонтали, то нужно использовать не свойство display:block; а display:inline; или свойство, задающее обтекание — float:left; для блока "logo".

Да, кстати, строка
background:#OOOOOO;
не работает, пишите вместо букв "O" нолики, иначе эта строка в коде будет просто проигнорирована.
  • 0

#5 kovyaro
kovyaro
    Topic Starter
  • Неактивные
  • 14 сообщений
  • Репутация: 0

Отправлено 21 февраля 2011 - 11:23

Помогло float:left;. Спасибо большое.
  • 0

#6 ZiTosS
ZiTosS
  • Неактивные
  • 5 148 сообщений
  • Репутация: 8

Отправлено 23 февраля 2011 - 12:44

kovyaro, тему так понимаю, можно закрывать?
  • 0



Похожие темы
  Название темы Автор Статистика Последнее сообщение

Пользователь месяца
albedo albedo 1-й за Май
Очков активности: 198 5 тем, 29 сообщений, 3 балла репутации
Сайт: online24news.ru
ТОП самых активных за этот месяц
  • Фотография NewBlade
    #1

    NewBlade
    Очков активности: 6 1 тема, 1 сообщение, 1 балл репутации

  • Фотография NataliaAntalia
    #2

    NataliaAntalia (zdorovemedicina.ru)
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография albedo
    #3

    albedo (online24news.ru)
    Очков активности: 1.5 Вне конкурса за определение пользователя месяца

  • Фотография FIvYUr
    #4

    FIvYUr (moy-evroopt.ru)
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография agrx
    #5

    agrx (key-assort.ru)
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография getsend
    #6

    getsend
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография Bukvarix
    #7

    Bukvarix
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография HOST-I7U
    #8

    HOST-I7U (host-i7u.com)
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография nuaru
    #9

    nuaru
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Фотография gakrus1
    #10

    gakrus1
    Очков активности: 1.5 0 тем, 1 сообщение, 1 балл репутации

  • Показать весь ТОП 10

Поддержите форум! =)
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru