Jump to content
  • 0

Шапка сайта


BetaVersion
 Share

Question

Здравствуйте. Начал верстку с шапки. Проблема, типичная для новичка. У меня не получается наложить сам контент (кнопочки и прочее, как на скрине)

5f51b57b41f2.png

Как сделать так, чтобы на саму шапку (повторяющийся элемент во всю длину монитора) наложить вот эти кнопочки и т.д., как будто это wrapper? Чтобы была рабочая зона. Заранее благодарю!

Link to comment
Share on other sites

18 answers to this question

Recommended Posts

  • 0

Меня осенило, а что если шапку сделать частью фона? Т.е. в html, body выставить повторяющийся по оси y элемент? И сделать его очень большим по высоте, чтобы хватило на любое разрешение. Хотя картинка будет грузиться долго.

Или в html выставить шапку (повторящуюся по оси y), а в body сделать сам фон (нижнее продолжение)

Попробовал, получилось фигово, т.е. ничего не получилось.

Edited by BetaVersion
Link to comment
Share on other sites

  • 0

BetaVersion, результат надо показывать. Объяснения путаные, из них почти ничего не понятно, только догадки можно строить.

У меня никакой результат. Просто посоветуйте, как это сделать. А то у меня ничего вообще не выходит. Я не знаю, как сделать, например, как тут www.dribbble.com. Видите, тут есть зона в 999px; на ней весь контент. И шапка и фон - повторяющиеся элементы. Как это сделать?
Link to comment
Share on other sites

  • 0

Возможно, я неправильно понял, так как объяснение нельзя считать исчерпывающим. Вы имеете в виду тянущийся на всю ширину фон, но фиксированный контент (или ограниченный по макс. ширине)? Так и на dribbble.com всё это реализовано, можно было посмотреть DOM-инспектором


<div id="header">
<div id="header-inner">
<!-- Здесь контент. И кнопочки тоже -->
</div>
</div>


#header {
height: **px;
min-width: 960px;
background: url(images/header-bg.png);
}
#header-inner {
width: 960px;
}

Edited by Vin
Link to comment
Share on other sites

  • 0

Возможно, я неправильно понял, так как объяснение нельзя считать исчерпывающим. Вы имеете в виду тянущийся на всю ширину фон, но фиксированный контент (или ограниченный по макс. ширине)? Так и на dribbble.com всё это реализовано, можно было посмотреть DOM-инспектором


<div id="header">
<div id="header-inner">
<!-- Здесь контент. И кнопочки тоже -->
</div>
</div>


#header {
height: **px;
min-width: 960px;
background: url(images/header-bg.png);
}
#header-inner {
width: 960px;
}

А разве header-bg.png не будет повторяться по оси y, x ?

Link to comment
Share on other sites

  • 0

По умолчанию повторяется по обеим осям, но так сам фон однородный и высота фиксированная, можно не прописывать repeat-x.

<div id="header">
<div id="header-inner">
<!-- Здесь контент. И кнопочки тоже -->
</div>
</div>

<div id='wrapper'>
<!-- Здесь само содержание странички -->
</div>

Вот так?

Link to comment
Share on other sites

  • 0

Можно и так, но обычно во wrapper включают и шапку, если точнее, в него чаще всего включают вообще все элементы страницы.

А так wrapper же ограничен по ширине. Как тогда сама шапка будет повторяться по оси х?

Link to comment
Share on other sites

  • 0

Можно и так, но обычно во wrapper включают и шапку, если точнее, в него чаще всего включают вообще все элементы страницы.

А так wrapper же ограничен по ширине. Как тогда сама шапка будет повторяться по оси х?

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

Ой, забыл, для #header-inner ещё нужен margin: 0 auto для центрирования по горизонтали.

Edited by Vin
Link to comment
Share on other sites

  • 0

Не получается.

bb4e9a3af023.jpg

/* CSS Document */

/* Основной стиль */

html, body {
margin: 0;
height: 100%;
color: #b48788;
font-family: Tahoma, Arial, Vernada;
background: url(../images/bg.jpg) repeat;
font-size: 11px;
background-color: #ffffff;
}

#wrapper {
padding: 0px;
height: 100% !important;
width: 1000px;
margin-left: auto;
margin-right: auto;
}

img {
border: 0px;
}

#header {
height: 471px;
min-width: 960px;
background: url(../images/headmenu.png) repeat-x;
}
#header-inner {
width: 960px;
}

#headerlinks {
width: 250px;
height: 25px;
margin-left: 30px;
margin-top: 5px;
}

#headerlinks a {
margin-left: 5px;
font-family: Tahoma, Arial, Vernada;
font-size: 14px;
color: #ffffff;
}

#headerlinks a:hover {
margin-left: 5px;
font-family: Tahoma, Arial, Vernada;
font-size: 14px;
color: #ffe3e3;
}

<!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="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="/favicon.ico" rel="shortcut icon">
<title>FreeBiz</title>
<link type="text/css" rel="stylesheet" media="all" href="http://*.ru/FreeBiz/css/style.css" />
</head>
<body>

<div id='header'>
<div id='header-inner'>
<div id='headerlinks'>
<a href="prime.html">Main menu 1</a>
</div>
</div>
</div>

</body>
</html>

Как только задаю margin для ссылки, отступает не ссылка, а отступает сама шапка.

Опять же, нет четкой ширины в 960px. Нет рабочей зоны.

Как только задаю margin для ссылки, отступает не ссылка, а отступает сама шапка.

Опять же, нет четкой ширины в 960px. Нет рабочей зоны.

Link to comment
Share on other sites

  • 0

Опять же, нет четкой ширины в 960px. Нет рабочей зоны.

См. прошлое сообщение. #inner-header надо margin: 0 auto; добавать. Вместо margin использовать padding.

Сработало! А вот уже когда закончу работу внутри шапки, во wrapper тоже нужно использовать padding? Или wrapper не имеет к шапке отношения в этом плане?

Link to comment
Share on other sites

  • 0

Да скорее всего, это было overflow, из-за того, что элементу не были заданы размеры. Margin и padding используются в зависимости от контекста http://www.w3.org/TR/CSS2/box.html

P.S. Нет, не из-за размеров: если быть точным, это схлопывание margin потомка и родителя. Т.к. у потомка margin был больше (у родителя его вообще не было) он как прошёл насквозь.

Edited by Vin
Link to comment
Share on other sites

  • 0

Да скорее всего, это было overflow, из-за того, что элементу не были заданы размеры. Margin и padding используются в зависимости от контекста http://www.w3.org/TR/CSS2/box.html

P.S. Нет, не из-за размеров: если быть точным, это схлопывание margin потомка и родителя. Т.к. у потомка margin был больше (у родителя его вообще не было) он как прошёл насквозь.

Огромное спасибо :rolleyes:
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