Intereting Posts
Отключить второй вариант выпадающего списка, основанный на первом выпадающем меню Подключение html-формы к php-странице в соответствии с первичным ключом Элемент CSS div – как показывать только горизонтальные полосы прокрутки? Ошибка синтаксического анализа HTML Масштаб div, чтобы соответствовать фону Поплавайте неупорядоченные списки (UL) рядом друг с другом и складывайте их внизу друг друга, без полей или пробелов Размер единицы измерения в CSS Использование атрибута @bindable для дочернего classа в Aurelia Вложенные элементы уровня блока внутри тега … правильные или неправильные? Прокрутите страницу при перетаскивании с помощью jQuery focus () для ввода без прокрутки XPath :: Получить следующий сиблинг css полужирное первое слово Шестиугольные формы сетки (через преобразование) создают сбои в Safari (10,1 Mac OS) Как я могу поместить изображение рядом с центрированным div?

Зазор между границей и изображением при добавлении граничного радиуса

У меня есть изображение с радиусом границы 50% и границей 3 пикселя вокруг него. Моя проблема заключается в том, когда задан радиус границы, между изображением и границей существует разрыв в 1px.

Проблема показана на рисунке ниже.

введите описание изображения здесь

И css, который я использую,

img { border: 3px solid #4CB7AC; height: 46px; width: 46px; border-radius:50%; } 

Обратите внимание, что

  • Размер изображения – 46 пикселей x 46 пикселей. Не изменяется.
  • И мне нужно использовать для получения изображения. Исключить его как фоновое изображение.
  • Решение должно быть совместимо со всеми браузерами. Даже IE8.

Есть ли способ устранить этот пробел?

Ссылка EDIT JS Fiddle

Просто добавьте Background color же, как ваш цвет границы, и он исправлен.

См. JsFiddle

Предложение background-color отлично работает, но если вы находитесь в ситуации, когда цвет фона будет менее идеальным (например, изображение PNG с прозрачностью), вы можете использовать background-clip: border-box;

Дополнительную информацию об этом свойстве см. В background-clip на MDN .

Попробуйте сделать это следующим образом:

 img { border: 3px solid #4CB7AC; height: 46px; width: 46px; -webkit-border-radius: 46px 46px 46px 46px; border-radius: 46px 46px 46px 46px; } 

Кроме того, для IE8 и ниже попробуйте использовать условные комментарии, чтобы заменить радиус границы и добавить общее .png изображение

   

ОБНОВИТЬ

Этот GAP, который вы видите, является «ошибкой» использования радиуса границы, вы также можете попробовать его исправить, добавив цвет фона изображения так же, как и цвет frameworks:

 img { border: 3px solid #4CB7AC; height: 46px; width: 46px; -webkit-border-radius: 46px 46px 46px 46px; border-radius: 46px 46px 46px 46px; overflow: hidden; background-color: #4CB7AC; } 

Добавление font-size:0 в img должно устранить вашу проблему.

без переполнения: скрыть использование LEFT и Top также высоту, равную родительской

  min-height: 52px; bottom: 1px; left: 0.5px; 

введите описание изображения здесь