Come creare un pulsante HTML trasparente?


123

Sto usando Dreamweaver per creare un sito web e ho pensato di usare Photoshop solo per creare sfondi. Ho deciso di farlo solo perché nel caso avessi scelto di cambiare facilmente il nome del pulsante semplicemente modificando i codici, potevo semplicemente fare riferimento al codice. Se dovessi costruire pulsanti usando Photoshop, non sarei in grado di modificare facilmente i testi in quei pulsanti o in qualsiasi elemento.

Quindi la mia domanda è semplice, come faccio a creare un pulsante che abbia uno stile in linea semplice che lo rende trasparente lasciando il valore del pulsante ancora visibile.

.button {     
    background-color: Transparent;
    background-repeat:no-repeat;
    border: none;
    cursor:pointer;
    overflow: hidden;        
}

Lascia ancora un'ombra del bordo dopo averlo cliccato.


possibile duplicato di HTML CSS Invisible Button
Dryden Long

Risposte:


238

Per eliminare il contorno quando si fa clic, aggiungere outline:none

jsFiddle esempio

button {
    background-color: Transparent;
    background-repeat:no-repeat;
    border: none;
    cursor:pointer;
    overflow: hidden;
    outline:none;
}


Questo in realtà è abbastanza buono. Ho già provato il modo dell'immagine e ha funzionato esattamente come necessario. Grazie mille, signor Hayes!
Shinji

1
Funziona al 100% dopo l'inclusione -webkit-box-shadow: none; -moz-box-shadow: none;nel codice
h3nr1ke

6
Puoi ottimizzarlo cambiando background-color: Transparent; background-repeat:no-repeat;inbackground: Transparent no-repeat;
Filipe Amaral

1
la mancanza outline: none;mi prende ogni volta
Adam

4

La soluzione è piuttosto semplice in realtà:

<button style="border:1px solid black; background-color: transparent;">Test</button>

Questo sta facendo uno stile in linea. Stai definendo il bordo come 1px, linea continua e di colore nero. Il colore di sfondo viene quindi impostato su trasparente.


AGGIORNARE

Sembra che la tua domanda EFFETTIVA sia come previeni il confine dopo aver fatto clic su di esso. Che possono essere risolti con un selettore pseudo CSS: :active.

button {
    border: none;
    background-color: transparent;
    outline: none;
}
button:focus {
    border: none;
}

JSFiddle Demo


Lascia ancora un'ombra del bordo dopo averlo cliccato. Grazie per il tuo contributo!
Shinji

Quindi, la tua domanda reale è molto diversa da quella originale a cui ho risposto. Sai già come usare i CSS per rendere trasparente il pulsante. Dopo che è stato cliccato, lascia un bordo che non desideri. È esatto?
EnigmaRM

Sì, mi dispiace moltissimo se la mia domanda è stata fuorviante.
Shinji

2

Crea un div e usa la tua immagine (png con sfondo trasparente) come sfondo del div, quindi puoi applicare qualsiasi testo all'interno di quel div per passare con il mouse sul pulsante. Qualcosa come questo:

<div class="button" onclick="yourbuttonclickfunction();" >
Your Button Label Here
</div>

CSS:

.button {
height:20px;
width:40px;
background: url("yourimage.png");
}

Se vuoi mantenere il tuo html semantico e accessibile, è meglio usare il tag del pulsante e rimuovere lo sfondo, ecc. Usando css. Tuttavia, questo va bene, soprattutto in una situazione in cui l'accessibilità non è un problema come un'app nativa che utilizza html5 e CSS per il layout, ecco un esempio: smashingmagazine.com/2013/10/17/…
Eric Bishard

0
<div class="button_style">
This is your button value
</div>

.button_style{   
background-color: Transparent;
border: none;             /* Your can add different style/properties of button Here*/
cursor:pointer;    
}

0

L'impostazione della sua immagine di sfondo su nessuno funziona anche:

button {
    background-image: none;
}

0

** aggiungi l'icona del pulsante in alto in questo modo **

#copy_btn{
	align-items: center;
	position: absolute;
	width: 30px;
  height: 30px;
     background-color: Transparent;
    background-repeat:no-repeat;
    border: none;
    cursor:pointer;
    overflow: hidden;
    outline:none;
}
.icon_copy{
	position: absolute;
	padding: 0px;
	top:0;
	left: 0;
width: 25px;
  height: 35px;
  
}
<button id="copy_btn">

                        <img class="icon_copy" src="./assest/copy.svg" alt="Copy Text">
</button>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.