CSS Ridge 테두리를 모방 할 수 있지만 사용자 정의 색상으로 가능합니까?

StackOverflow https://stackoverflow.com/questions/1816123

  •  08-07-2019
  •  | 
  •  

문제

나는 본질적으로 "Ridge"스타일 테두리가 있지만 사용자 정의 색상을 갖기를 원합니다. 와 함께 border-style: ridge 다른 색상을 넣을 수없는 것 같습니다. 브라우저는 지정된 색상보다 약간 더 가볍고 약간 어둡습니다.

내 현재 솔루션은 이것이지만 추가로 인해 이상적이지 않습니다. <div>

<div id="header">
  <!-- block with border-bottom set to `1px solid #2e3436`-->
</div>
<div style="height: 1px; background-color: #fbe995;"></div>

아래의 다음 항목은 상단 테두리가 해당 색상으로 설정할 수 없습니다 (고유 한 스타일이 있고 별개). 아이디어가 나옵니다. 내가 시도 할 수있는 다른 것이 있습니까?

도움이 되었습니까?

해결책

예제는 요소 주변의 융기 테두리가 아닌 헤더와 나머지 사이의 분리기로 융기 줄을 생성하는 것이 좋습니다. 당신은 왜 a를 사용하지 않습니까? hr 그것에 대해, 그것은 정확히 무엇을위한 것이기 때문입니까?

그런 다음 테두리를주고 다른면에 자신의 색상을 설정할 수 있습니다.

다른 팁

CSS 3의 사양에 따라 (섹션 8.5.3) :

'그루브', '릿지', '삽입'및 '시작'의 값으로 그려진 테두리의 색상은 요소의 테두리 색상 특성에 따라 다르지만 UAS는 사용 된 실제 색상을 계산하기 위해 자체 알고리즘을 선택할 수 있습니다.

기술적으로 나는 "자체 알고리즘을 선택"하는 데 개발자가 설정할 수 있도록 허용 할 수 있지만이 시점에서는 사용자 에이전트가 그렇게하지 않는 것 같습니다. 물론, 그들이 그렇게하더라도 렌더링 엔진만을위한 솔루션이있을 것입니다.

공식적인 방법은 없지만 효과를 모방 할 수 있습니다. 융기 테두리는 실제로 삽입 된 경계 일뿐입니다. 그 자체는 그 자체가 그 주위에 처음 경계를 가지고 있습니다 (결국 왼쪽/상단 및 하단/오른쪽에 대해 약간 다른 테두리 색상을 가진 견고한 테두리입니다).

이 라인을 따라 무언가는 당신이 원하는 것, 또는 정확히 당신이 찾고 있던 것에 대한 좋은 근사치를 얻을 수 있어야합니다.

 .inset{
      margin:0px;
      border: 1px inset #abc;
 }
 .outset{
      padding:0px;
      border:1px outset #cba;
 }

<div class='outset'>
     <div class='inset'>
          content goes here
     </div>
</div>
<style>
.a
{
        border: solid yellow 2px;
        border-top-color:red;
        border-left-color:red;

}
.b
{
        border: solid red 2px;
        border-top-color:yellow;
        border-left-color:yellow;
}
</style>
<div class='a'>
  <div class='b'>
        some text
  </div>
</div>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top