Jump to content
  • 0

Подскажите по расположению div'ов в строку


Searcher
 Share

Question

Вот код:

<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<title> </title>

<style type="text/css">

html,body {
padding:0;
margin:0;
height:100%;
width:100%;
}

body {
font: 14px "Arial";
}

p {
padding: 0;
margin: 0 0 7px 0;
}

img {
border:none;
}

.blockleft {
text-align: left;
clear: both;
margin: 0 0 20px 10px;
}

.innerblock {
float: left;
border: black 1px dotted;
position: relative;
white-space: nowrap;
text-align: center;
margin: 5px 10px 5px 0;
padding: 5px;
}

.innerblock * {
position: relative;
margin: 0 auto;
}

</style>

</head>
<body>

<div class="blockleft">
<div class="innerblock"><img src="/01.jpg" width="70" height="70">
<p><strong>Имя1</strong><br><i>текст1, текст1</i></p></div>
<div class="innerblock"><img src="/02.jpg" width="70" height="70">
<p><strong>Имя2</strong><br><i>текст2</i></p></div>
<div class="innerblock"><img src="03.jpg" width="70" height="70">
<p><strong>Имя3</strong><br><i>текст3</i></p></div>
<div class="innerblock"><img src="04.jpg" width="70" height="70">
<p><strong>Имя4</strong><br><i>текст4, текст4</i></p></div>
<div class="innerblock"><img src="05.jpg" width="70" height="70">
<p><strong>Имя5</strong><br><i>текст5</i></p></div>
<div class="innerblock"><img src="06.jpg" width="70" height="70">
<p><strong>Имя6</strong><br><i>текст6, текст6</i></p></div>
</div>
<div class="blockleft">
<p>Дальше текст разный и все такое</p>
</div>
</body>
</html>

Проблемы:

В IE при сужении окна и приближении правой границы окна к последнему диву innerblock в строке появляются полосы прокрутки, дальше, если сужать окно, последний див переносится, и полосы прокрутки пропадают. Как избежать появления полос прокрутки?

Нет отступа после blockleft, хотя в стилях он заявлен. Хотелось бы чтобы он был...

Edited by Searcher
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

добавьте в первый <div class="blockleft"> в самый конец следующее:

<div class="clear"></div>

и в стили:

.clear {

clear:both;

font-size:1px;

height:1px;

}

(если не задать font-size и height, то в ie этот див распирает по высоте на размер шрифта, прописанного в body)

это чтобы blockleft нормально отрабатывал margin-bottom

насчет прокрутки - не совсем поняла, какую прокрутку имеете в виду.

Link to comment
Share on other sites

  • 0

Спасибо, большое. С margin-bottom справился.

А с полосами прокрутки вот что. Вот 2 варианта размера окна броузера, в первом все нормально, а во втором , при сужении окна чуть больше, чем в первом варианте, откуда-то вылезают полосы прокрутки еще перед переносом на новую строку. Если и дальше сужать окно - блок перенесется на новую строку и полосы пропадают.

image1.jpg

image2.jpg

Как это исправить?

Link to comment
Share on other sites

  • 0
Как это исправить?

Ну, как вариант поменять местами левый и правый маргины у .innerblock и убрать правый маргин у .blockleft:

<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>

<style type="text/css">

* {margin: 0; padding: 0;}

html, body {
height:100%;
width:100%;
}
img {
border: none;
}

.blockleft {
text-align: left;
margin: 0 0 20px 0;
background: #33CC66;
/* clearing */
overflow: hidden;
zoom: 1;
/* clearing */
}

.innerblock {
float: left;
display: inline; /* for ie: double margins fix */
border: black 1px dotted;
white-space: nowrap;
text-align: center;
margin: 5px 0 5px 10px;
padding: 5px;
background: #FFCC66;
}

</style>

</head>
<body>
<div class="blockleft">
<div class="innerblock"><img src="/01.jpg" width="70" height="70">
<p><strong>Имя1</strong><br><i>текст1, текст1</i></p></div>
<div class="innerblock"><img src="/02.jpg" width="70" height="70">
<p><strong>Имя2</strong><br><i>текст2</i></p></div>
<div class="innerblock"><img src="03.jpg" width="70" height="70">
<p><strong>Имя3</strong><br><i>текст3</i></p></div>
<div class="innerblock"><img src="04.jpg" width="70" height="70">
<p><strong>Имя4</strong><br><i>текст4, текст4</i></p></div>
<div class="innerblock"><img src="05.jpg" width="70" height="70">
<p><strong>Имя5</strong><br><i>текст5</i></p></div>
<div class="innerblock"><img src="06.jpg" width="70" height="70">
<p><strong>Имя6</strong><br><i>текст6, текст6</i></p></div>
</div>
<div class="blockleft">
<p>Дальше текст разный и все такое</p>
</div>
Дальше ещё и ещё!
</body>
</html>

Link to comment
Share on other sites

  • 0

Точно! Балбес я! ))) Совсем забыл про inline!

Про zoom слышал, но не знал, что в этой ситуации будет от него толк... Будет ли он работать в новых версиях?

Спасибо большое! ))

Link to comment
Share on other sites

  • 0
Про zoom слышал, но не знал, что в этой ситуации будет от него толк... Будет ли он работать в новых версиях?

Насколько я знаю, zoom поддерживают IE5.5 — IE7. Судя по этой статье, в IE8 поддержки уже не будет (но будет -ms-zoom. Правда, будет ли он нужен — вопрос). В любом случае, можно использовать Conditional Comments, если что.

Линки по теме:

Про zoom в MSDN

Про hasLayout и какое отношение к этому имеет zoom

Про zoom и совместимость с версиями IE (на англ.)

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