【问题标题】:How can i add a custom curved shape inside a sidebar using CSS?如何使用 CSS 在侧边栏中添加自定义弯曲形状?
【发布时间】:2021-03-28 20:07:15
【问题描述】:

body{
    font-family: roboto;

}
*{
    margin: 0;
    padding: 0;
    list-style: none;
    text-decoration: none;
}


.sidebar{
    
    position: fixed;
    left: 0px;
    width: 314px;
    height: 100vh;
    background-color: #002438;
    box-shadow: hsl(0, 0%, 60%) 7px 2px 15px;
    
    
}
.sidebar header{
    
    font-size: 50px;
    margin-top: -7%;
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
    line-height: 20px;
    color: #002438;
    font-weight: 1000;
    line-height: 30px;
    
    background-color:  rgb(255, 255, 255, 90%);

    border-bottom-left-radius: 200px;
    border-bottom-right-radius: 200px;
    
}
.sidebar ul a{

    display: block;
    line-height: 60px;
    font-size: 24px;
    color: white;
    text-align: center;
    padding-top: 25px;
}
.sidelist :hover{
    color: rgb(24, 234, 253);

}
.sidelist{
    padding-top: 50px;
}
.sidebar header span{
    font-size: 25px;
    font-weight: 400;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Lead Manager</title>
    <link rel="stylesheet" href="style.css">
    
</head>
<body>
    
    <div class="wrapper">
        <div class="sidebar">
            <header>LEAD <br> <span>MANAGER</span></header>
                
                
            <ul class="sidelist">
                <li><a href="#">DASHBOARD</a></li>
                <li><a href="#">CUSTOMER</a></li>
                <li><a href="#">LEADS</a></li>
                <li><a href="#">REPORTS</a></li>
                <li><a href="#">SMS</a></li>
                <li><a href="#">PROFILE</a></li>
            </ul>
            
                
        </div>
        <div class="maskbg"></div>
        <div class="shapemask"></div>
    </div>
    
</body>
</html>

这是我想在侧边栏中创建的形状

侧边栏位于包装器内。我还在包装器内创建了一个简单的 div ,但是当我将 height 、 width 和 color 赋予自定义形状时,它不会显示出来。侧栏固定在左侧。我尝试在互联网上查找它并看到提到的剪贴蒙版。我将侧边栏放在一个包装器中,看看我是否可以弯曲它,以便侧边栏的右侧是另一个 div,它可以用作该页面中其他所有内容的容器。这也不起作用,因为它没有显示 html 和 css 的任何错误。

请注意,添加了 shapemask 和 maskbg 类,因为我试图做剪贴蒙版,但最后我什至看不到由 div 形成的简单形状。

【问题讨论】:

  • 嗨,提供一些代码。最重要的是编辑您的帖子以插入“JavaScritp/HTML/CSS Snippet”(工具栏中有一个按钮)
  • 嗨@Akashp,我建议你使用svg,因为它更容易使用。如果你想用 css(比如颜色/位置)来修改它,那没问题,因为你可以用内联 svg 和它的子元素来做到这一点

标签: css css-shapes


【解决方案1】:

两个radial-gradient就可以做到:

.box {
  width:250px;
  height:400px;
  background: 
    radial-gradient(100% 150% at top,              #002438 50%,transparent 50.2%),
    radial-gradient(100% 180% at top, #a1abb0 48% ,#7f868b 50%,transparent 50.2%),
    #ced0d2;
  background-size:400% 300px;
  background-position:1% 0;
  background-repeat:no-repeat;
}
&lt;div class="box"&gt;&lt;/div&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 2023-03-26
    • 2014-09-09
    • 2012-12-23
    • 2016-03-13
    • 1970-01-01
    相关资源
    最近更新 更多