Новый ответ
Основываясь на том, что вы мне дали, это необходимый код CSS, используя старый верный позиции абсолютного метода.
#highlight_lose {
height: 300px;
width: 100%;
position: absolute;
top: 50%;
margin-top: -150px;
}
div.sad_smileyface {
width: 300px;
height: 100%;
position: relative;
margin: 0 auto;
...
[your graphic styling code here]
}
Следует отметить, что я устанавливаю ширину содержащего div на 100% и центрирует ее по вертикали. Затем я центрировал дочерний элемент smileyface div горизонтально. Это не требуется, просто метод, который я сделал это. Если высота изменяется, отрегулируйте #highlight_lose
, если изменения ширины, обновления sad_smileyface
Оригинал ответа
Если высота составляет по меньшей мере decalred (который у вас есть), установите родительский контейнер как position: relative
(просто чтобы убедиться), вы должны иметь возможность использовать margin: auto;
на вашем дочернем div. Это должно работать в кросс-браузере с IE 6.
Другие варианты включают в себя выполнение вашего метода, задав допустимую границу с отрицательной половиной высоты и ширины. margin: -275px -275px;
.
Кроме того, модель Flexbox от CSS3 также исправит это, но сильно префикс и не поддерживается везде.
вот что heppened после того как я попытался это: http://jsfiddle.net/uqcLn/ 32/ – alonblack
Это сработало для меня, есть ли способ упростить ваш jsfiddle. Со всеми этими div и эффектами трудно найти необходимые div. – CP510
вот он: http://jsfiddle.net/uqcLn/35/ – alonblack