2014-12-30 6 views
2

경사를 정의하는 데 사용되는 테두리가 고정되어 있고 목록 항목 내부의 내용을 기반으로 적응해야하지만 테두리를 사용하여 탐색 항목에 사용하는 경사 스타일 삼각형을 만들었습니다. 또한 각 목록 항목에 동일한 CSS 클래스를 사용하려고합니다.반응하는 경사 테두리

내가 얻으려고하는 것에 대한 최선의 해결책인가, 아니면 같은 결과를내는 대체 방법이 있습니까?

JS 솔루션에도 열려 있습니다.

li { 
    float: left; 
    position: relative; 
    height: 20px; 
    background: #a1a8ad; 
    padding: 5px 12px; 
    margin-right: 10px; 
    list-style: none; 
} 

li:before { 
    content: ""; 
    position: absolute; 
    top: -3px; 
    width: 0; 
    height: 1px; 
    left: 0px; 
    border-right: 63px solid #a1a8ad; /* razorblade color */ 
    border-top: 2px solid rgba(0, 0, 0, 0); /* transparent */ 
} 

JSFiddle here

+0

어떻게 출력을 원하는지 이미지를 게시 할 수 있습니다 디자인을 원하는대로 –

+0

JS를 사용하지 않는 한 반응 형 테두리와 같은 것은 없습니다. – Slime

+0

@sanojlawrence 달성하려고하는 출력은이 [JSFiddle] (http://jsfiddle.net/xyum0c5z/7/)에 있습니다. 조금 더 명확히해야만했음을 미안합니다. – automonous

답변

3

당신은 경계 폭에 대한 비율을 사용할 수 있지만 기울어 진 위쪽 테두리를 만들기 위해 회전 된 의사 요소를 사용할 수 있습니다

지금까지 다음과 같은 CSS를 사용했다 :

li { 
 
    float: left; 
 
    position: relative; 
 
    margin-right: 10px; 
 
    list-style: none; 
 
    overflow: hidden; 
 
    padding-top: 8px; 
 
} 
 
li a { 
 
    display: block; 
 
    background: #a1a8ad; 
 
    padding: 5px 12px; 
 
    color: #000; 
 
    height: 20px; 
 
    text-decoration: none; 
 
} 
 
li:before { 
 
    content: ""; 
 
    position: absolute; 
 
    top: 0; 
 
    right: 0; 
 
    width: 150%; 
 
    height: 30px; 
 
    background: #a1a8ad; /* razorblade color */ 
 
    -webkit-transform-origin: 100% 0; 
 
    -ms-transform-origin: 100% 0; 
 
    transform-origin: 100% 0; 
 
    -webkit-transform: rotate(-2deg); 
 
    -ms-transform: rotate(-2deg); 
 
    transform: rotate(-2deg); 
 
    z-index: -1; 
 
}
<nav> 
 
    <ul> 
 
    <li><a href="#">Home</a> 
 
    </li> 
 
    <li><a href="#">About Us</a> 
 
    </li> 
 
    </ul> 
 
</nav>

+0

가짜 효과는 이동하는 방법을 deffo합니다. – jbutler483

+1

이것은 완벽합니다. 감사합니다! 나는 7 명 이상의 담당자를 얻는다면 투표 할 것이다. :) – automonous