Идея состоит в том, чтобы полагаться на SVG-версию значка и рассматривать pointer-events
, чтобы включить взаимодействие только на пути, но наведение не будет работать внутри значка, поскольку визуально оно не является частью пути.
Вот пример для иллюстрации.
button {
font-size:80px;
margin:10px;
pointer-events:none;
border:none;
background:none;
}
svg {
border:1px solid red;
}
svg path{
pointer-events:auto;
}
button:hover path{
fill:red;
}
<script src="https://use.fontawesome.com/releases/v5.12.0/js/all.js"></script>
<button type='button' id='{0}' onClick='delete_row(this.id)' class='btn btn-outline-danger button_border' data-toggle='modal' data-target='#exampleModalCenter'><i class='fas fa-trash-alt '></i></button>
<button type='button' id='{0}' onClick='delete_row(this.id)' class='btn btn-outline-danger button_border' data-toggle='modal' data-target='#exampleModalCenter'><i class='far fa-trash-alt '></i></button>
Вы можете рассмотреть другой значок или другой SVG, где вы можете убедиться, что вся область принадлежит пути.
В вашем конкретном случае, вы можете добавить псевдоэлемент, чтобы покрыть внутри части и вернуть ваше взаимодействие с мышью:
button {
margin:10px;
pointer-events:none;
border:none;
background:none;
padding:0;
position:relative;
}
button:before,
button:after{
content:"";
position:absolute;
bottom:0.12em;
left:0.12em;
right:0.12em;
top:0.2em;
pointer-events:auto;
}
button:after{
top:0.1em;
height:0.2em;
left:0.24em;
right:0.24em;
}
svg path{
pointer-events:auto;
}
button:hover path{
fill:red;
}
<script src="https://use.fontawesome.com/releases/v5.12.0/js/all.js"></script>
<button type='button' id='{0}' onClick='delete_row(this.id)' class='btn fa-10x btn-outline-danger button_border' data-toggle='modal' data-target='#exampleModalCenter'><i class='far fa-trash-alt'></i></button>
<button type='button' id='{0}' onClick='delete_row(this.id)' class='btn fa-5x btn-outline-danger button_border' data-toggle='modal' data-target='#exampleModalCenter'><i class='far fa-trash-alt'></i></button>
<button type='button' id='{0}' onClick='delete_row(this.id)' class='btn fa-3x btn-outline-danger button_border' data-toggle='modal' data-target='#exampleModalCenter'><i class='far fa-trash-alt'></i></button>