는 사실은 간단합니다. 당신은 ::before
들 사용하려는 ::after
의 IT 순수 CSS 만들 수있는 매우 어려운 작업이다
* {
box-sizing: border-box;
}
body {
background-color: #09f;
}
nav {
width:200px;
height:80px;
position:relative;
margin:50px;
}
nav > .nav-container {
width:100%;
height:80px;
background-color:#CCEBFF;
position:relative;
z-index:2;
border-radius: 15px 15px 0 0;
}
nav > .nav-container > div {
position:absolute;
top:32px;
width:100%;
height:36px;
background-color: #fff;
padding:10px;
}
nav::before,
nav::after{
content: " ";
position:absolute;
border-radius:15px;
}
nav::before {
top:0px;
left:-22px;
width:44px;
height:68px;
background-color:#fff;
}
nav::after {
top:2px;
left:-20px;
width:40px;
height:30px;
background: #dddddd;
background: -moz-linear-gradient(top, #dddddd 0%, #999999 100%);
background: -webkit-linear-gradient(top, #dddddd 0%,#999999 100%);
background: linear-gradient(to bottom, #dddddd 0%,#999999 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dddddd', endColorstr='#999999',GradientType=0);
}
<nav>
<div class="nav-container">
<div>
All your items
</div>
</div>
</nav>
합니다. 가장 큰 문제는 최소한 너무 넓은 답변을 얻지 못할 것이라는 것입니다. CSS를 사용하여 모양을 구현하는 것이 매우 복잡하기 때문에 이미지를 만드는 일반적인 방법입니다. –
CSS가 아닌 다른 방법으로 만들 수 있습니까? – nil338
원본 이미지가 흐려지면서 이미지로 알려드립니다. –