2016-06-08 4 views
-1

두 div를 개발하는 임무가 주어 졌으므로 아래쪽 div에는 경계선이 있어야하며 오른쪽 상단에 노치가 있어야합니다. 상단 div도 테두리를 포함해야하며 div의 하단 오른쪽 구석은 노치가있는 모서리의 역이어야합니다. 아래 이미지를보고 정확히 무엇을 성취하려고하는지 보여주세요. 설명하기가 어렵습니다. : -/테두리 및 투명 노치가있는 div의 모서리 부분을 노치하는 방법

enter image description here

+1

절반의 경우이 참조 할 수 있습니다 - HTTP : //stackoverflow.com/questions/19248443/is-it-possible-to-create-an-angled-corner-in-css/30729446#30729446, 다른 아이디어는 here - http://stackoverflow.com/questions/30011363/transparent-shape-with-arrow-in-upper-corner/30011454#30011454 – Harry

답변

0

내가 linear-gradient를 통해이 작업을 수행 할 것, 투명 border, background-clipbox-shadow :

div { 
 
    width: 800px; 
 
    max-width: 90%; 
 
    margin: 2em auto -3.5em; 
 
    padding: 0 2em 0 1em; 
 
    background: white; 
 
    position: relative; 
 
    box-shadow: inset -3px 0 turquoise, inset 0 -3px turquoise, inset 3px 0 turquoise; 
 
    border-top: 3em solid transparent; 
 
    border-bottom: 2em solid transparent; 
 
    background-clip: padding-box; 
 
} 
 
div:first-of-type { 
 
    border-top:solid turquoise; 
 
    padding-top:2em; 
 
    } 
 
div:first-of-type:before { 
 
    display:none; 
 
    } 
 
div:before, 
 
div:after { 
 
    content: ''; 
 
    position: absolute; 
 
    right: 0; 
 
} 
 
div:before { 
 
    height: 2.7em; 
 
    width: 100%; 
 
    top: -2.7em; 
 
    box-shadow: inset 3px 0 turquoise; 
 
    background: linear-gradient(turquoise, turquoise) 0 0 no-repeat, linear-gradient(-135deg, transparent calc(2em - 3px), turquoise calc(2em - 3px), turquoise 2em, white 2em); 
 
    background-size: calc(100% - 2.5em) 3px, auto 
 
} 
 
div:after { 
 
    height: 2em; 
 
    width: 2em; 
 
    top: calc(100% - 3px); 
 
    box-shadow: inset -3px 0 turquoise; 
 
    background: linear-gradient(45deg, transparent calc(50% - 3px), turquoise calc(50% - 3px), turquoise 50%, white 50%) 
 
} 
 
div>p:first-of-type { 
 
    margin-top: -1.5em; 
 
    position: relative; 
 
} 
 
body { 
 
    background: linear-gradient(45deg, yellow, gray, purple, white, yellow, gray, purple, white, yellow, gray, purple, white); 
 
}
<div> 
 
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.</p> 
 
</div> 
 
<div> 
 
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. 
 
    Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus 
 
    lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, 
 
    facilisis luctus, metus</p> 
 
</div> 
 
<div> 
 
    <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. 
 
    Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus 
 
    lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, 
 
    facilisis luctus, metus</p> 
 
</div>