#css #image #border
#css #изображение #граница
Вопрос:
Мне интересно, возможно ли достичь этого эффекта только с помощью css. Как вы, наверное, заметили, изображение имеет 4 границы, если вы немного увеличите масштаб (без этой нижней тени я не хочу это использовать).
изображение http://img265.imageshack.us/img265/192/version203.jpg
Ответ №1:
Похоже, что самая внешняя граница уже выполнена с использованием CSS с простым эффектом границы. Самой внешней границей будет прямоугольник с рамкой и некоторым заполнением, чтобы поместить изображение внутрь. Затем, перейдя к серому прямоугольнику, вы могли бы использовать другое поле с border: 3px double
, поскольку цвет границы совпадает с цветом фона, и добавить background-clip: padding-box
, чтобы фон не закрывал белую линию между двойными рамками. Также кажется, что на этом поле будет радиус границы около 3 пикселей и некоторое отступление, пока вы не дойдете до фактического изображения, которое просто имеет белую рамку вокруг него.
Простой пример CSS:
span.imgbox {
background: #CCC;
background-clip: padding-box;
border: 3px double #CCC;
border-radius: 3px;
display: inline-block;
padding: 10px;
}
span.imgbox > img {
border: 1px solid #FFF;
}
Обычно это то, что будет задействовано, предполагая, что вам не нужен белый прямоугольник с черной рамкой, как показано в реальном представлении веб-сайта, а только те границы, которые вы хотите отобразить на самом изображении.
Комментарии:
1. @Alecs: Я не верю, что CSS может создать подобную странную тень, по крайней мере, из всех примеров, которые я когда-либо видел с тенями и свечением.
2. О, довольно плохо, мне интересно, как я могу добавить этот эффект, потому что, если я использую его в качестве фонового изображения, я думаю, это не сработает, потому что ширина изображений устанавливается пользователем из серверной части, поэтому мне нужно, чтобы этот эффект соответствовал любой ширине изображения…
Ответ №2:
С помощью box-shadow вы можете эмулировать несколько границ. Это именно то, что вы ищете:
http://weston.ruter.net/2009/06/15/multiple-borders-via-css-box-shadow/
Комментарии:
1. Ему все равно понадобились бы два элемента, потому что
border-radius
это применялось бы ко всем теням прямоугольника, когда в этом примере требуется закругление только одной из границ.
Ответ №3:
вы могли бы смешать цвет тени, контура, границы и отступа / фона… но это не было бы кроссбраузерным..
border: 4px solid #000;
outline: 4px solid #f00;
background-color: #ff0;
padding: 10px;
box-shadow: 0px 0px 0px 4px #333;
Я думаю, что единственный способ — это иметь вложенные элементы.