Если элемент существует на странице с более чем одним цветом границы, то угол, в котором эти цвета встречаются, создает по умолчанию скос. Это кажется странным выбором для стиля пограничного угла. Вместо этого я предпочел бы, чтобы одна из границ «пересиливала» другую границу, так что вместо нее показана прямая линия.Удаление эффекта скоса на углу границ
Для иллюстрации этого эффекта, необходимо учитывать следующее:
См пример jsFiddle пример, который я создал here.
Верхние два элемента отображают поведение по умолчанию, скошенное. Нижние два отображают желаемое, ожидаемое поведение, где в этом случае граничные верхние «пересиливают» или «переопределяют» угол границы - слева и справа.
Разметка для верхней части корпуса:
<div class="container">
<div class="border">Item one</div>
<div class="border">Item two</div>
</div>
И в CSS:
.container {
margin: 5px;
width: 150px;
background: yellow;
}
.border {
padding: 5px;
border: 15px solid red;
border-top: 15px solid teal;
}
Разметка для нижней части корпуса:
<div class="container">
<div class="border-top"></div>
<div class="border-reg">Item one</div>
<div class="border-top"></div>
<div class="border-reg">Item two</div>
</div>
И в CSS:
.border-top {
border-top: 15px solid teal;
}
.border-reg {
border: 15px solid red;
border-top: 0;
padding: 5px;
}
Хотя второй метод, который я разработал, производит эффект, который я хочу, кажется, что это излишне утомительно для того, что я предположил бы иметь состояние по умолчанию. Если бы я хотел, чтобы границы были слева, чтобы переопределить другие границы, например, мне пришлось бы иметь дело с некоторыми float: left
и безумным безусловным элементом.
Вопрос (Наконец)
Есть ли более простой способ удаления скоса-поведение по умолчанию наблюдается во всех браузерах?
Несмотря на то, что описанный выше случай в основном упрощен для того, чтобы верхняя или нижняя граница края перекрывала углы, задача не такая простая, например, если мне нужны границы с левым и правым переопределить границу и верхнюю границу.
Это может помочь: http://stackoverflow.com/questions/11052202/can-i-have-different-color-left-and-top-border-in-css-with-straight-join –