Add svg icon to css / html button?

I want the icon to appear inside the button tag, see the following code:

<div> <input type="search" id="header-search" placeholder="Search..." /> <button id="search-button" /> <svg id="search-icon" class="search-icon" viewBox="0 0 24 24"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/> <path d="M0 0h24v24H0z" fill="none"/> </svg> 

 #header-search { width: 200px; background: @header-color; color: white; font-size: 12pt; border: 0px solid; outline: 0; vertical-align: -50%; } #header-search::-webkit-input-placeholder { color: white; } #search-button { background: #FFFFFF; vertical-align: -50%; } .header-view-logo { vertical-align: middle; } #search-icon { fill:white; } 

But the icon just displays really large everywhere, how can I make it fit inside the button?

+5
source share
5 answers

Not sure if the button is not closed or you just copied it here and forgot to close it.

 #search-button { width: 100px; height: 50px; } #search-button svg { width: 25px; height: 25px; } 
 <button id="search-button"> <svg id="search-icon" class="search-icon" viewBox="0 0 24 24"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/> <path d="M0 0h24v24H0z" fill="none"/> </svg> </button> 
+8
source

I changed your code a bit by putting it on this script.

Two problems:

  • You did not close your button correctly, it needs to complete after SVG
  • You needed to specify the width of the button (as you can see, I stopped some of your other CSS)
+2
source

I checked your code, Plz will try to do this.

box-model (Depending on height, weight, margin, indentation) is only the reason.

 <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> <script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> <style type="text/css"> #header-search { border: 1px solid #eee; color: black; float: left; font-size: 12pt; height: 40px; margin: 0; outline: 0 none; padding: 0 10px; vertical-align: top; width: 200px; } #header-search::-webkit-input-placeholder { color: white; } #search-button { background-color: red !important; height: 40px; margin: 0 auto !important; padding: 0; width: 40px; } .header-view-logo { vertical-align: middle; } #search-icon { fill:white; } </style> </head> <body> <div> <input type="search" id="header-search" placeholder="Search..." /> <button id="search-button"> <svg id="search-icon" class="search-icon" viewBox="0 0 24 24"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"> <path fill="none" d="M0 0h24v24H0z"> </svg> </button> </body> </html> 
+1
source

I suggest you do it as follows:

 .search > div, .search > button { display: inline-block; vertical-align: middle; } #header-search{ margin: 0; line-height: 0; } #search-button svg { width: 12px; height: 12px; } 
 <div class="search"> <input id="header-search" type="search" placeholder="Search..." /> <button id="search-button"> <svg id="search-icon" class="search-icon" viewBox="0 0 24 24"> <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/> <path d="M0 0h24v24H0z" fill="none"/> </svg> </button> </div> 
0
source
 <svg height="20" width="40" > <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/> 

-1
source

Source: https://habr.com/ru/post/1238824/


All Articles