2013-03-08 1 views
0

CSS에서이 모양을 얻으 려하고 여러 가지 방법으로 시도해 보았습니다. 예를 들어 온라인에서 확인했지만 모양이 까다로운 것처럼 보입니다. 이 작업을 수행하는 방법에 대한 아이디어가있는 사람은 누구입니까? CSS 기술만으로도 가능한지 확실하지 않습니다.div에서 까다로운 모양을 만들기

enter image description here

감사합니다!

+1

무엇을 시도 했습니까? 나는 그물에있는 모든 비슷한 트릭이 CSS 테두리를 사용하는 해킹 일 뿐이라고 두려워한다. 좋은 효과지만 내부에 텍스트를 배치 할 수는 없습니다. 배경 이미지를 사용하는 것이 좋습니다, 그것은 단순하고 상호 호환이 가능하며 유일한 솔루션 인 두려워합니다 – amik

+1

한번 시도해보십시오 ... –

+0

정말 간단합니다. 나는 데모를 만들거야. – Ana

답변

3

예, 가능하며 매우 간단합니다.

demo

결과 :

result :

난 그냥 하나 개의 요소와 왼쪽 하단 그래서 HTML에 대한 의사를 사용하고 간단하다 :

<div class='shape'></div> 

관련 CSS는 :

.shape { 
    overflow: hidden; /* to hide the top right corner 
         of the parallelogram formed by the pseudo */ 
    position: relative; 
    width: 20em; height: 10em; /* any values really */ 
} 
.shape:before { 
    position: absolute; 
    bottom: 0; left: 0; 
    width: 150%; height: 150%; 
    transform-origin: 0 100%; 
    transform: rotate(-3deg) skewX(-10deg); 
    background: black; 
    content: ''; 
} 

당신은 CSS의 변환을 사용하여 모양의 많은를 얻을 수 있습니다. 그리고 그것들은 진짜 모양입니다. 뒤에 어떤 종류의 배경이라도 가질 수 있습니다.

+0

이 코드는 ... 감사합니다! – Jaypee

1

나는

#trapezoid { 
height: 0; 
width: 120px; 
border-bottom: 80px solid #05ed08; 
border-left: 45px solid transparent; 
border-right: 5px solid transparent; 
padding: 10 8px 5 5; 
} 
+0

안녕하세요! 너무 가까이에 !!! 까다로운 부분은 대각선 인 하단 부분입니다.이 CSS에서는 오른쪽 테두리가 곧게 보일 것입니다. 그러나 테두리를 0px로 변경하거나 삭제할 수도 있습니다. 까다로운 부분은 바닥이지만, 당신이 보낸 것은 너무 가까이 있습니다. 고마워요! – Jaypee

+1

@Jaypee 환영합니다. 답을 수락 해주세요. –

1

당신은 또한 :before, :after 의사와 transform 속성을 사용할 수 있습니다 ...이 질문에 대한 완벽한 솔루션입니다 생각합니다. 여기에 example이 있습니다.

#box { 
    width: 400px; 
    height: 200px; 
    background-color: #212121; 
    position: relative; 
} 

#box:after, #box:before { 
    display: block; 
    content: "\0020"; 
    color: transparent; 
    width: 411px; 
    height: 45px; 
    background: white; 
    position: absolute; 
    bottom: -20px; 
    -moz-transform: rotate(-2deg); 
    -webkit-transform: rotate(-2deg); 
    -o-transform: rotate(-2deg); 
    -ms-transform: rotate(-2deg); 
    transform: rotate(-2deg); 
} 
#box:before { 
    bottom: 80px; 
    left: -200px; 
    -moz-transform: rotate(92deg); 
    -webkit-transform: rotate(92deg); 
    -o-transform: rotate(92deg); 
    -ms-transform: rotate(92deg); 
    transform: rotate(92deg); 
} 

당신이 원하는 모양을 얻기 위해 일부 값을 변경해야 할 수도 있습니다.

+0

배경에 단색이있는 경우에만 가능합니다. 배경 : 흰색; 또는 다른 색상은 배경색과 동일해야합니다. 예를 들어 이미지 위에 있다면 (배너를 통해 가정 해 봅시다)이 기술을 사용할 수 없습니까? – Jaypee

+0

올바른 경우, 대신 CSS 대신 이미지를 사용하는 것이 좋습니다. –