Jump to content
  • 0

Проблема ширины body в IE6


ScRiPt
 Share

Question

Здравствуйте..

Никак не могу разобраться с такой проблемой:

на странице 3 элемента.

один фиксированной ширины позиционирован статически..

второй позиционирован абсолютно и всегда должен быть в правом углу..

ширина третьего (position: static;) всегда должна быть 100% от ширины всей страницы (в независимости от ширины окна)..

В FF и Opera все норм.. как всегда глюк в IE6..

Помогите разобраться.

на данный момент проблема осталась только в ширине 3-го элемента

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>body_test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
/*tmp*/
html {background:#333;}
body {background:#666;}
.content {height:200px;width:800px;background:#999; }
.a {position:absolute;top:0;right:0;width:40px;height:40px;background:#d55;}
.b {height: 100px; background: #eee; width: 100%;}
/*def*/
* {
margin: 0;
padding: 0;
}
/*width*/
html {
position: relative;
}
body {
position: relative;
float: left;
width: auto !important;
min-width: 100%;
}
</style>
</head>
<body>
<div class="content"></div>
<div class="a"></div>
<div class="b"></div>
</body>
</html>

Edited by ScRiPt
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

это не извращение..

блок 'а' шириной 800px.. если в ИЕ6 уменьшить окно до 500px, например, то блок 'b' будет иметь ширину 500px, а не 800, хотя указано 100%..

вот в чем проблема и заключается.. в остальных браузерах все отлично

Link to comment
Share on other sites

  • 0

Все он правильно делает. Указано 100%, он и размещает на всю ширину окна. Ведь 100% считается от родительского элемента. А зачем указывать 100% если нужно 800px? Ничего не понятно... Укажите в min-width 800px, тогда минимальный размер будет 800px. IE6 не понимает этого, но есть приемы, позволяющие его урезонить. Например путем отрицательных маргинов или при помощи expression.

Зачем position: relative; и float:left для боди? Мудрено и бесполезно.

Если вы делаете фиксированный размер, так и делайте все фиксированным. А если резиновый, тогда все должно тянуться. Ну, кроме блока а.

Edited by Searcher
Link to comment
Share on other sites

  • 0

С ограничением минимальной ширины у нижнего блока можно, например, так:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>body_test</title>
<style type="text/css">
/*def*/
* {
margin: 0;
padding: 0;
}
/*width*/
html, body {
width:100%;
height:100%;
}
/*tmp*/
body {background:#666;}
.content {height:200px;width:800px;background:#999; }
.a {position:absolute;top:0;right:0;width:40px;height:40px;background:#d55;}
.b {height: 100px; background: #eee; min-width:800px; width:100%;}
* html .in {padding-left:800px;}
* html .min {margin-left:-800px; position:relative;}
* html .in,
* html .lay,
* html .min {height:1px;}

</style>
</head>
<body>
<div class="content">content</div>
<div class="a">a</div>
<div class="b">
<div class='in'>
<div class='lay'>
<div class='min'>b</div>
</div>
</div>
</div>
</body>
</html>

Edited by Searcher
Link to comment
Share on other sites

  • 0

по своей же глупости не совсем верно объяснил..

я точно не знаю ширину блока 'content' . на каждой странице он разных размеров..

в моих планах сделать так:

на первой странице ширина этого блока, к примеру - 800px, при этом блок 'b' растянут на все 100%, а блок 'a' находится в правом верхнем углу..

в принципе так и должно быть..

но на второй странице ширина блока 'content' - 2000px.. блок 'a' находится в правом верхнем углу..

посмотриите что получится в ИЕ6 с блоком 'b'.. он просто не растянется..

Edited by ScRiPt
Link to comment
Share on other sites

  • 0

это плохо, что он разных размеров... не логично... да и 2000 это многова-то. далеко не у всех такие большие разрешения экранов, да еще и не все раскрывают броузер на весь экран.

подумайте хорошенько над размерами этого блока

а так, можно на каждой странице просто переопределять несколько стилей, или позвать на помощь JavaScript.

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