¿Cómo hacer un botón HTML transparente?


123

Estoy usando Dreamweaver para crear un sitio web y pensé en usar Photoshop para crear fondos. Decidí hacerlo solo porque en caso de que optara por cambiar el nombre del botón fácilmente simplemente editando los códigos, podría referirme al código. Si construyera botones usando Photoshop, no podría editar los Textos en esos botones o en cualquier elemento fácilmente.

Entonces, mi pregunta es simple, ¿cómo creo un botón que tiene un estilo en línea simple que lo hace transparente y deja el valor del botón aún visible?

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

Todavía deja un tono de borde después de hacer clic en él.


posible duplicado de HTML CSS Invisible Button
Dryden Long

Respuestas:


238

Para deshacerse del contorno al hacer clic, agregue outline:none

ejemplo de jsFiddle

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


Esto es lo suficientemente bueno. Ya probé la forma de la imagen e hizo exactamente lo que necesitaba. ¡Muchas gracias, Sr. Hayes!
Shinji

1
Funciona al 100% después de incluirlo -webkit-box-shadow: none; -moz-box-shadow: none;en el código
h3nr1ke

6
Puedes optimizarlo cambiando background-color: Transparent; background-repeat:no-repeat;abackground: Transparent no-repeat;
Filipe Amaral

1
la falta outline: none;me atrapa cada vez
Adam

4

La solución es bastante fácil en realidad:

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

Esto está haciendo un estilo en línea. Está definiendo que el borde sea de 1 px, línea sólida y color negro. Luego, el color de fondo se establece en transparente.


ACTUALIZAR

Parece que su pregunta REAL es cómo evitar el borde después de hacer clic en él. Que se pueden resolver con un selector de pseudo CSS: :active.

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

Demostración de JSFiddle


Todavía deja una sombra de borde después de hacer clic en él. ¡Gracias por su aporte!
Shinji

Entonces, su pregunta real es muy diferente de la original a la que respondí. Ya sabe cómo usar CSS para hacer que el botón sea transparente. Después de hacer clic en él, deja un borde que no desea. ¿Es eso exacto?
EnigmaRM

Sí, lo siento mucho si mi pregunta fue engañosa.
Shinji

2

Haga un div y use su imagen (png con fondo transparente) como fondo del div, luego puede aplicar cualquier texto dentro de ese div para colocar el cursor sobre el botón. Algo como esto:

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

CSS:

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

Si desea mantener su html semántico y accesible, es mejor usar la etiqueta del botón y eliminar el fondo, etc. usando css. Sin embargo, esto está bien, especialmente en una situación en la que la accesibilidad no es un problema como una aplicación nativa que usa html5 y CSS para el diseño, aquí hay un ejemplo: 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

Establecer su imagen de fondo en ninguno también funciona:

button {
    background-image: none;
}

0

** agregue el botón superior del ícono como este **

#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>

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.