Подтвердить что ты не робот

Округлые углы на DIV с цвет фона

У меня есть код, который выглядит так:

<div id="shell">
    <div id="title">TITLE HERE</div>
    <div id="content">Article Content Goes Here</div>
</div>

У раковины div есть серая рамка, на которой я хочу закругленные углы. Проблема, с которой я сталкиваюсь, - это заголовок div имеет зеленый фон и перекрывает закругленные углы оболочки. Он либо перекрывается, либо не выступает против краев, чтобы обеспечить внешний вид жидкости.

Я ищу решение, которое обратно совместимо с IE 7 и 8, но если есть решение в HTML5, то я бы хотел потерять эти браузеры.

Спасибо!

4b9b3361

Ответ 1

В вашей разметке вы должны указать радиус границы как на #shell, так и на #title, чтобы острые углы #title не перекрывались #shell.

Живой пример, http://jsfiddle.net/BXSJe/4/

#shell {
 width: 500px;
 height: 300px;
 background: lightGrey;
 -moz-border-radius: 6px; 
 border-radius: 6px; /* standards-compliant: (IE) */ 
}

#title {
 background: green;
 padding: 5px;
 -moz-border-radius: 6px 6px 0 0;
 border-radius: 6px 6px 0 0; /* standards-compliant: (IE) */
}

Ответ 2

Другой способ добиться этого - установить внешний div для переполнения скрытого

#shell {
 width:500px;
 height:300px;
 background:lightGrey; 
 border-radius: 10px 10px 10px 10px;
 overflow:hidden;
}
#title {
 background:green;
 padding:5px;
}

http://jsfiddle.net/jdaines/NaxuK/

Ответ 3

Вы, вероятно, захотите объединить только два верхних угла заголовка div с тем же радиусом, что и оболочка div, чтобы они не перекрывались. CSS3, который вы использовали бы:

border-top-left-radius: XXpx
border-top-right-radius: XXpx

Для обратной совместимости со старыми браузерами Mozilla вы также должны использовать:

-moz-border-radius-topleft: XXpx
-moz-border-radius-topright: XXpx

И для старых версий браузеров WebKit (главным образом, Safari) вы можете использовать:

-webkit-border-top-left-radius: XXpx
-webkit-border-top-right-radius: XXpx

Тем не менее, вы ничего не можете сделать с старыми браузерами Internet Explorer, насколько я знаю, кроме использования изображений.

Ответ 4

Internet Explorer не поддерживал пограничный радиус до IE9, что сильно расстраивало разработчиков и дизайнеров. В IE9 важными шагами являются использование метки META METE и предоставление радиуса границы:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<style>
border-top-right-radius: 7px;
border-top-left-radius: 7px;
border-bottom-right-radius: 2px;
border-bottom-left-radius: 2px;
</style>

Источник - http://davidwalsh.name/css-rounded-corners

Я бы предпочел использовать изображения, но IE может справиться с потерей. Microsoft должна активировать эту игру и поддерживать CSS3.

Ответ 5

Вы можете использовать PIE с IE7 и 8. Он позволяет использовать некоторые функции CSS3 в IE7 и IE8. И да, я знаю, это не браузер, это боль. Может быть, проклятие.

Вы можете проверить его здесь.