Максимальная высота% не работает в IE8? - PullRequest
0 голосов
/ 10 февраля 2011

[ПОДТВЕРЖДЕНО: IE9 страдает той же ошибкой! : '(]

У меня есть div, похожий на стиль фоторамки, который содержит img и два div. Этот внешний div имеет максимальную ширину (80%), которая прекрасно работает.

Проблема в том, что если я установил максимальную высоту, я получаю следующее поведение:

  • 80px - работает как положено.
  • 80em - работает как положено.
  • 80% - то же, что и высота: автоматически и без максимальной высоты.

Любой совет? Тип документа - <!doctype html>, который полностью действителен и обычно работает отлично. Я даже добавил <meta http-equiv="X-UA-Compatible" content="IE=9"> из-за разочарования.

EDIT:

Здесь приведен HTML / CSS, который, я считаю, уместен:

<!doctype>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9"> 
<script type="text/javascript" src="https://getfirebug.com/firebug-lite-beta.js"></script>
<style type="text/css">
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
body
{
    background-color:black;
    color:black;
    font-size:80%;
    font-family:'Merriweather',georgia,serif;   
    max-width:1600px;
    min-width:780px;
    text-align:center;
    margin:0 auto;
    line-height:1.1;
}
div#container
{
    text-align:left;
    padding:1em 15px;
    margin:2em 5px;
    position:relative;
    background:#FFE4BE;
}


div.image
{
    background:white;
    max-width:80%;
    max-height:20%; <--- HAS NO EFFECT!
    overflow:hidden;
    margin:0 auto;
    display:block;
    padding:2em 2% 1em 2%;
}
div.image img { width:100%; margin:0 auto; display:block; }
div.image div.title { font-size:160%; font-weight:bold; text-align:center; margin-top:0.25em;  }
div.image div.caption { font-style:italic; text-align:center; }
</style>
</head>
<body>
<div id="container">
<div id="body">
<div class="image">
<img src="construction.jpg">
<div class="title">Construction</div>
<div class="caption">
<p>Turns out, we're not ready for beta users yet.</p>
<p>We'll have a mailing list available soon. Check back periodically!</p>
</div>
</div>
</div>
</div>
</body>
</html>

Ответы [ 3 ]

0 голосов
/ 10 февраля 2011

Для того, что вы делаете, было бы проще установить контейнер изображений с хорошим полем и установить максимальную ширину равной 100%.Вы, вероятно, не хотите, чтобы максимальная высота была меньше, чем область просмотра, так как люди привыкли к вертикальной прокрутке, чтобы увидеть большие / длинные изображения.

0 голосов
/ 10 февраля 2011

Вы должны принять новый подход к этому - использование max-height для масштабирования изображения - это просто неправильный путь, и вы, скорее всего, никогда не доберетесь до точки, где вам нравится решение.

Если бы я был вами, я бы вернулся к чертежной доске и переосмыслил макет (не дизайн, просто разметку и CSS) и попытался бы достичь цели дизайна другим способом.

0 голосов
/ 10 февраля 2011

Используйте * html для ie.

* html .whatever{
height:100%;
}
...