CSS下拉阴影效果显示不正确。

4
我正在创建一个带有阴影效果(neumorphism)的按钮,但是当我将CSS应用于该按钮时,它只显示为两种颜色的实心按钮。我在CSS的哪个部分使用不正确?我的阴影值与按钮大小相对不正确吗?更改宽度和高度没有帮助。

.css-test {
  background: #EAF0F8;
  mix-blend-mode: normal;
  border: 0.5px solid #FFFFFF;
  box-shadow: 0px -30px 60px rgba(167, 179, 190, 0.35), 0px 30px 60px rgba(167, 179, 190, 0.35);
  border-radius: 35px;
}

.buysellbutton {
    width: 44px;
    height: 44px;
    background: #F0F0F3;
    box-shadow: -10px -10px 30px 40% #FFFFFF, 10px 10px 30px rgba(174, 174, 192, 0.4);
    border-radius: 16px;
  }
<div class="css-test">
   <h3> Cash Flow: <span>CSS TEST</span></h3>
   <button class="buysellbutton">buy</button>
</div>


1
它具有与边框相同的精确效果和相同的厚度,只是放大了... 嗯 - Matt Laszcz
1
一开始我以为可能是浏览器支持的问题或者与嵌套它的 div 及其属性有关。 - Matt Laszcz
1
你的意思是你不想要按钮周围的边框?那么将其设置为“none”,因为该按钮具有浏览器内部样式表中应用的默认样式。此外,box-shadow的扩展必须是长度在那里不起作用。 - Kaiido
我想要一个阴影效果,但是我现有的CSS会导致“边框”出现两种不同颜色的效果,这是我为两种不同阴影效果分配的颜色。我正在尝试解决这个问题。去掉百分号确实有所帮助!但我仍然得到了这个效果。我应该附上一张所需结果的照片来进行比较吗? - Matt Laszcz
1
你想要这个 https://jsfiddle.net/axL8odku/ 吗? - Kaiido
是的!这就是我想要的,谢谢你的帮助! - Matt Laszcz
2个回答

3

要去除按钮的黑色边框,只需在按钮上添加border-style:none即可。另外添加了一个带有hover和active样式的按钮。

如果想要创建Neumorphism效果,可以查看https://neumorphism.io/

.css-test {
  background: #EAF0F8;
  mix-blend-mode: normal;
  border: 0.5px solid #FFFFFF;
  box-shadow: 0px -30px 60px rgba(167, 179, 190, 0.35), 0px 30px 60px rgba(167, 179, 190, 0.35);
  border-radius: 15px;
  padding: 10px;
}

.buysellbutton {
    width: 80px;
    height: 44px;   
    border-style:none;         
    border-radius: 16px;
    background: #F0F0F3;
    box-shadow:  18px 18px 36px #c5c5c7, 
             -18px -18px 36px #ffffff;
    outline:none;
         
  }
  
  
  .button {
    width: 150px;
    height: 50px;
    background: #f3f0f1;
    position: relative;
    background: #f3f0f1;
    margin-bottom: 25px;
    border-radius: 32px;
    text-align: center;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
    outline: none;
    border-style: none;
    box-shadow: -6px -6px 10px rgba(255, 255, 255, 0.8),
        6px 6px 10px rgba(0, 0, 0, 0.2);
    color: #6f6cde;
    }
    span {
      font-size: 25px;
      font-weight: semibold;
    }
      .button:hover {
        opacity: 0.7;
        box-shadow: -6px -6px 10px rgba(255, 255, 255, 0.8),
          6px 6px 10px rgba(0, 0, 0, 0.2);
      }
      .button:active {
        opacity: 1;
        box-shadow: inset -4px -4px 8px rgba(255, 255, 255, 0.5),
          inset 8px 8px 16px rgba(0, 0, 0, 0.1);
        color: #79e3b6;
      }
<div class="css-test">
   <h3> Cash Flow: <span>CSS TEST</span></h3>
   <button class="buysellbutton">buy</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <button class="button"><span>Buy</span></button>
</div>


1
嘿,谢谢!我尝试了那个网站,但仍然遇到问题,感谢您的帮助,现在我知道它是如何工作的了! - Matt Laszcz

0

首先,在所有CSS的顶部使用以下代码

button{
   all: unset;
}

而不是

box-shadow: -10px -10px 30px 40% #FFFFFF, 10px 10px 30px rgba(174, 174, 192, 0.4);

使用
box-shadow: -10px -10px 30px 40px #FFFFFF, 10px 10px 30px rgba(174, 174, 192, 0.4);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接