#ИМЯ?

У меня есть 5 браузеров для рендеринга html-кодированных страниц: IE9, Firefox 4.0 и всех новейших версий Chrome, Safari и Opera. Теперь в IE9 и Firefox 4.0 изображение обрезается правильно при использовании border-radius: и -moz-border-radius: но не работает в Opera, Chrome и Safari, используя -webkit-border-radius:. В Opera изображение вообще не обрезается, а с помощью Safari и Chrome изображение несколько обрезается, но при этом граница также обрезается.

.nonTyp{
margin: 15px 15px 15px 15px;
border:4px inset #C1C8DD;
border-radius:25px;
-moz-border-radius:25px;
-webkit-border-radius:25px;
width:200px;
height:200px;

}

Если у вас есть один из трех упомянутых браузеров, которые используют -webkit-border-radius: пожалуйста, просмотрите изображения, например, о том, что у меня есть проблема: Графическая страница

Ответ 1

Что вы можете сделать, это поместить весь стиль в тег <img> сейчас, на родительский <a> вместо этого, чтобы использовать его как контейнер для изображения. Это, по крайней мере для меня, имеет больше смысла. Не забудьте сохранить float: left на изображении, чтобы избавиться от нижнего поля phantom.

Ответ 2

Я думаю, потому что он находится на переднем плане над границей

попробуйте использовать тот же код, что и вы, но в html:

<div class="nonTyp" style="background-image:url('image.jpg');"></div>

Ответ 3

Это, вероятно, связано с порядком, в котором применяется клип границы и радиуса, но это очень странно. Решение заключается в перемещении радиуса границы и связанных с ним определений в охватывающий тег. Не забудьте объявить display:block, чтобы он рассматривался как уровень блока во всех браузерах.

Ответ 4

Это работало для меня в Chrome и Safari.

Изображение верхнего уровня.

div.someclass с радиусом 5px и div.someclass img с радиусом 4px.

Кажется, что углы выглядят чище в Chrome и Safari.

.someclass {
  ...
  border: 1px solid #000;
  -webkit-border-radius: 5px;
     -moz-border-radius: 5px; 
          border-radius: 5px;
  -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; 
  -webkit-box-shadow: 0px 0px 5px #000; 
     -moz-box-shadow: 0px 0px 5px #000;
          box-shadow: 0px 0px 5px #000; 
}

.someclass img {
  ...
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px; 
          border-radius: 4px;   
}

Ответ 5

Я думаю, что функции рисования, используемые Chrome для изображения и ссылки, работают по-разному между собой. И это создает пробел между изображением и ссылкой.

Я частично исправил эту ошибку, немного изменив код jsfiddle Matjis. Я переместил позицию тэгов img влево.

.gallery a img {
...
position:relative;
left: 2px;
}

Это решение может работать, если вы задаете разные значения радиуса для изображения и ссылки.