body {
padding: 40px;
background: #003A63;
color: white;
}
button {
background: none;
padding: 0;
margin: 0;
border: 0;
outline: 0;
}
.button1 .outline {
fill: white;
filter: url(#button-neutral);
}
.button1 .fill {
fill: #FFED00;
}
.button1:hover .outline {
filter: url(#button-hover);
}
.button2 .outline {
fill: white;
}
.button2 .fill {
fill: #CD1719;
}
.button2:hover .outline {
filter: url(#button-hover);
}
.t:hover .button1 {
z-index: -1;
}
.button1,
.button12 {
position: absolute;
}
Button with filter on both
<div class="t">
<button class="button1">
\t <svg>
\t \t <use class="fill" xlink:href="#button-large-fill" />
\t \t <use class="outline" xlink:href="#button-large-outline1" />
\t </svg>
</button>
<button class="button2">
\t <svg>
\t \t <use class="fill" xlink:href="#button-large-fill" />
\t \t <use class="outline" xlink:href="#button-large-outline1" />
\t </svg>
</button>
</div>
<svg version="1.1" class="hidden-svg">
\t <defs>
\t \t <filter id="button-neutral">
\t \t <!-- Um den weißen rahmen des buttons nach oben zu schieben mit dem filter -->
\t \t <feOffset in="SourceGraphic" dx="0" dy="-3" result="sourceCopy" />
\t \t <feOffset in="SourceAlpha" dx="0" dy="1" result="innenSchatten" />
\t \t <feFlood flood-color="gray" flood-opacity="0.8" result="innenSchatten-gefaerbt" />
\t \t <feComposite in="innenSchatten-gefaerbt" in2="innenSchatten" operator="in" result="final" />
\t \t <feBlend in="final" in2="" mode="multiply" />
\t \t \t <feFlood flood-color="green" result="lol" />
\t \t \t <feComposite in="lol" in2="SourceAlpha" operator="atop" result="lol2" />
\t \t
\t \t <!-- Put everything together. Blur then graphic. -->
\t \t \t <feMerge>
\t \t \t \t <feMergeNode in="final"/>
\t \t \t \t <feMergeNode in="sourceCopy" />
\t \t \t </feMerge>
\t \t </filter>
\t \t <filter id="button-hover">
\t \t <!-- Um den weißen rahmen des buttons nach oben zu schieben mit dem filter -->
\t \t <feOffset in="SourceGraphic" dx="0" dy="0" result="sourceCopy" />
\t \t <feOffset in="SourceAlpha" dx="0" dy="2" result="innenSchatten" />
\t \t <feFlood flood-color="gray" flood-opacity="1" result="innenSchatten-gefaerbt" />
\t \t <feComposite in="innenSchatten-gefaerbt" in2="innenSchatten" operator="in" result="final" />
\t \t <feBlend in="final" in2="" mode="multiply" />
\t \t \t <feFlood flood-color="green" result="lol" />
\t \t \t <feComposite in="lol" in2="SourceAlpha" operator="atop" result="lol2" />
\t \t
\t \t <!-- Put everything together. Blur then graphic. -->
\t \t \t <feMerge>
\t \t \t \t <feMergeNode in="final"/>
\t \t \t \t <feMergeNode in="sourceCopy" />
\t \t \t </feMerge>
\t \t </filter>
\t </defs>
\t <symbol id="button-large-outline1" viewBox="0 0 255 48.9">
\t \t <path d="M252.7,15.6c-1.3-3.2-3.3-6.1-5.8-8.4c-2.3-2.2-5.1-3.8-8-4.9c-0.4-0.1-0.7-0.3-1.1-0.4l-1.1-0.3c-0.8-0.2-1.5-0.3-2.3-0.4
\t \t \t \t c-0.8-0.1-1.6-0.2-2.4-0.2c-0.8,0-1.5,0-2.2,0l-28.3,0.2c-2-0.1-4-0.2-6-0.2c-5.7-0.2-11.4-0.4-17.1-0.5l-8.6-0.2L161.2,0
\t \t \t \t c-11.4-0.1-22.8,0-34.2,0.2C104.1,0.7,81.3,1.8,58.4,2C47,2.1,35.6,2.1,24.2,2c-0.7,0-1.4,0-2.2,0c-0.8,0-1.5,0-2.3,0.2
\t \t \t \t c-0.8,0.1-1.5,0.2-2.2,0.4l-1.1,0.3c-0.4,0.1-0.7,0.2-1.1,0.4c-2.9,1-5.5,2.5-7.8,4.6c-2.3,2-4.1,4.6-5.4,7.4c-1.3,2.8-2,5.9-2.1,9
\t \t \t \t c-0.2,6.2,2.3,12.6,6.9,17c0.3,0.3,0.6,0.5,0.9,0.8c4.2,4.1,9.9,6.7,16.2,6.7h51.1c17.3,0.2,34.6,0.3,51.8,0.2l17.1-0.1
\t \t \t \t c3.1,0,6.2-0.1,9.3-0.1H232c12.7,0,23-10.3,23-23C255,22.1,254.1,18.7,252.7,15.6z M5,25.6c0-10.5,8.5-19,19-19h208
\t \t \t \t c5.1,0,9.7,2,13.1,5.3c2.9,3.4,4.5,7.8,4.5,12.2c0,5.1-2.2,10-6,13.4c-1.8,1.7-4,3-6.4,3.9c-0.3,0.1-0.6,0.2-0.9,0.3l-0.9,0.2
\t \t \t \t c-0.6,0.2-1.2,0.3-1.8,0.3c-0.6,0.1-1.2,0.1-1.9,0.2c-0.3,0-0.6,0-1,0l-1.1,0l-34.2-0.3l-20.9-0.1l-4.8-0.1l-8.6-0.2
\t \t \t \t c-5.7-0.1-11.4-0.2-17.1-0.2l-17.1-0.1c-22.8-0.1-45.7,0.1-68.5,0.4C47,42,35.6,42.1,24.2,42.3l-1.1,0c-0.4,0-0.6,0-1,0
\t \t \t \t c-0.6,0-1.2,0-1.9-0.1c-0.6-0.1-1.2-0.1-1.8-0.3l-0.9-0.2c-0.3-0.1-0.6-0.2-0.9-0.3c-2.4-0.8-4.6-2-6.5-3.7
\t \t \t \t c-1.4-1.2-2.5-2.6-3.5-4.1C5.6,31.1,5,28.5,5,25.6z" />
\t </symbol>
\t
\t <symbol id="button-large-fill" viewBox="0 0 255 48.9">
\t \t <path class="st0" d="M0.9,23.6c0-11.6,9.4-21,21-21h208c11.6,0,21,9.4,21,21c0,11.6-9.4,21-21,21h-208C10.3,44.6,0.9,35.2,0.9,23.6z
\t \t \t \t \t "/>
\t </symbol>
</svg>
Sorry- Я не понимаю: O Первый фильтр (имеющий feComposite Aswell) применяется с помощью CSS в одиночку работает просто отлично. Пожалуйста, просветите меня :) –