Клиент хочет две цветовые границы для тисненого вида. Могу ли я сделать это на одном элементе? Я надеялся избежать укладки двух элементов DOM с отдельными границами.Две цветные границы
ответ
Если под «выбивать» вы имеете в виду две границы вокруг друг друга с двух разных цветов, есть outline
свойство (outline-left
, outline-right
....), но она плохо поддерживается в семье IE (а именно, IE6 и 7 не поддерживайте его вообще). Если вам нужны две границы, второй элемент-оболочка действительно будет лучше.
Если вы имеете в виду использование двух цветов на одной границе. Использовать, например.
border-right: 1px white solid;
border-left: 1px black solid;
border-top: 1px black solid;
border-bottom: 1px white solid;
существуют специальные border-styles
для этого, а также (ridge
, outset
и inset
), но они, как правило, различаются для разных браузеров в моем опыте.
Я верю, что он спрашивает что-то вроде 'border: black white; ', что означает определение двух разных цветов для одной границы, которая выглядит последовательно в одно и то же время. – Tarik
@Braveyard ах, я вижу. Это было бы теоретически возможно с помощью 'outline', но это не сработает в IE <8 –
Обратите внимание, что есть только контур ... нет такой вещи, как контур-левый, контурный-правый, контурный-верх или контур К сожалению. –
Не возможно, но вы должны проверить, чтобы увидеть, если border-style
значения как inset
, outset
или какой-либо другой, достигается эффект, который вы хотите .. (я сомневаюсь, что хотя ..)
CSS3 имеет те свойства border-image , но я еще не знаю о поддержке браузеров (подробнее на http://www.css3.info/preview/border-image/).
В мире программирования ничего невозможного: P мне нравится делать это заявление все время :) – Tarik
@Braveyard, * chuckle * good point :) –
Да: Используйте outline
; он действует как вторая граница за пределами вашей границы. Остерегайтесь, tho ', он может взаимодействовать в выигрышной манере с полями, paddings и drop-shadows. В некоторых браузерах вам, возможно, придется использовать префикс для браузера; чтобы удостовериться, что он набирает на это: -webkit-outline
и тому подобное (хотя WebKit, в частности, не требует этого).
Это также может быть полезно в том случае, если вы хотите сбросить контур для определенных браузеров (например, если вы хотите совместить контур с теневой тенью, а в WebKit контур находится внутри тени; в FireFox он находится снаружи, поэтому -moz-outline: 0
полезен для того, чтобы вы не получали грубую линию вокруг красивой тени CSS).
.someclass {
border: 1px solid blue;
outline: 1px solid darkblue;
}
Edit: Некоторые люди отмечают, что outline
не джайв хорошо с IE < 8. В то время как это верно; поддержка IE < 8 действительно не то, что вы должны делать.
К сожалению, 'outline' вообще не работает в IE6/7. –
-1 для «поддержки IE <8 действительно не то, что вы должны делать».Не поддерживать IE6 может быть хорошо. Но не поддерживать IE7 смешно, ни один сайт с нетехнической аудиторией не может позволить себе это –
'outline' было вокруг с CSS2. – BoltClock
Просто напишите
style="border:medium double;"
для HTML тега
Это дает две границы с одним цветом между ними. –
Другой способ заключается в использовании box-shadow
:
#mybox {
box-shadow:
0 0 0 1px #CCC,
0 0 0 2px #888,
0 0 0 3px #444,
0 0 0 4px #000;
-moz-box-shadow:
0 0 0 1px #CCC,
0 0 0 2px #888,
0 0 0 3px #444,
0 0 0 4px #000;
-webkit-shadow:
0 0 0 1px #CCC,
0 0 0 2px #888,
0 0 0 3px #444,
0 0 0 4px #000;
}
<div id="mybox">ABC</div>
См example здесь.
+1, это здорово, но не будет работать ни в одном IE .. –
К счастью, теперь работает в IE9: http://jsbin.com/eyasuk/1. –
Я предпочитаю это, так как он работает с граничным радиусом в отличие от метода контура. – Johan
Вы пробовали разные стили границ, доступные в спецификации CSS?Там уже два пограничных стилей, которые могли бы удовлетворить все ваши потребности:
border-style: ridge;
Или
border-style: groove;
Это именно то, что мне нужно. (Исправление
Это очень возможно. Это просто требует немного CSS-обмана!
<div class="border">
Hi I have two border colors<br />
I am also Fluid
</div>
div.border {
border: 1px solid #000;
position: relative;
}
div.border:before {
position: absolute; display: block; content: '';
border: 1px solid red;
height: 100%; width: 100%;
box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
}
Это то, что вы ищете?
Действительно, это сложно, но он изящно деградирует и даже работает на моем браузере акций HTC (Android)! Если вы используете 'border-radius', попробуйте уменьшить радиус внутренней границы на один пиксель, что сделает разрыв между двумя закругленными границами почти незаметным. – flu
Я использую это - и он работает БОЛЬШОЕ! – Fruxelot
Это приятно. Использование 'bottom: 1px', а не' height: 100% 'работало лучше для меня только для нижней границы :) – Nick
Вы можете использовать
<html>
<head>
<title>Two Colors</title>
<style type="text/css">
.two-colors {
background: none repeat scroll 0% 0% rgb(245, 245, 245); border-color: rgba(111,111,111,0.2) transparent;
padding: 4px; outline: 1px solid green;
}
</style>
<style type="text/css">
body {
padding-top: 20px;
padding-bottom: 40px;
background-color:yellow;
}
</style>
</head>
<body>
<a target="_blank" href="people.htm">
<img class="two-colors" src="people.jpg" alt="Klematis" width="213" height="120" />
</a>
</body>
</html>
Это производит хороший эффект.
<div style="border: 1px solid gray; padding: 1px">
<div style="border: 1px solid gray">
internal stuff
</div>
</div>
Вместо того чтобы использовать неподдерживаемый и проблемный контур просто использовать
- цвета фона + отступы для внутренней границы
- нормальной границы для внешнего.
Пример:
HTML:
<img src="http://cdn3.thumbs.common.smcloud.net/common/8/6/s/863444wpPN.jpg/r-0,500-n-863444wpPN.jpg" alt="malkovich" />
УС:
img {
padding: 1px;
background: yellow;
border:1px solid black;
}
ТЕСТ (JSFiddle):http://jsfiddle.net/68gb7/
Хорошо работает, но только если у вас есть контент с фоном. – Culme
Схема хорошая, но только если вы хотите границу вокруг.
Допустим, если вы хотите сделать это только на нижней или верхней части вы можете использовать
<style>
#border-top {
border-top: 1px solid #ccc;
box-shadow: inset 0 1px 0 #fff;
}
</style>
<p id="border-top">This is my content</p>
И внизу:
<style>
#border-bottom {
border-top: 1px solid #ccc;
box-shadow: 0 1px 0 #fff;
}
</style>
<p id="border-bottom">This is my content</p>
Надеюсь, что это помогает.
- 1. Как я могу сделать две разные цветные границы вокруг изображения?
- 2. Две цветные панели навигации
- 3. Две границы для панели
- 4. Две таблицы, перекрывающиеся границы
- 5. рисования две границы переплетены
- 6. CSS Две границы. различная высота
- 7. Цветные дочерние элементы с высотой границы при зависании
- 8. Цветные внешние границы по css для карты Регион
- 9. Цветные (цветные) различия между браузерами?
- 10. две различные цветные скрипичных участки на том же графике
- 11. Как создать две границы - Pure CSS
- 12. Колонки таблицы HTML HTML, две границы?
- 13. Неопознанный край, где встречаются две границы?
- 14. Java JPanel две границы, разные цвета?
- 15. цветные точки в R
- 16. Исключить цветные клетки от SUMIFS
- 17. Добавить две верхние границы в строку таблицы с помощью CSS
- 18. Две границы друг на друга, не выстроены в линию
- 19. Как сохранить еще две области при добавлении и удалении границы?
- 20. Как сделать эти две границы с псевдо-элементами
- 21. Почему синтаксис регулярного выражения vim имеет две границы слов?
- 22. Цветные переменные Не работает
- 23. jqplot Цветные зоны фона?
- 24. выражение blend цветные области
- 25. Пользовательские цветные значки UITabBar
- 26. Цветные ячейки таблицы onclick
- 27. svg, цветные дочерние элементы
- 28. Цветные буквы в алфавите
- 29. Автоматически цветные изображения баланса
- 30. WAP Цветные изображения
Готовы ли вы использовать Javascript для достижения эффекта? http://jquery.malsup.com/corner/ – nopuck4you