Como fazer um botão HTML transparente?

123

Estou usando o dreamweaver para criar um site e pensei em usar apenas o Photoshop para criar fundos. Decidi fazer isso apenas porque, no caso de optar por alterar o nome do botão facilmente apenas editando os códigos, poderia apenas referir-me ao código. Se eu fosse construir botões usando Photoshop, não seria capaz de editar os Textos nesses botões ou em qualquer elemento facilmente.

Portanto, minha pergunta é simples, como faço para criar um botão que tem um estilo embutido simples, tornando-o transparente e deixando o valor do botão ainda visível.

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

Ele ainda deixa uma sombra de borda após você clicar nele.

Shinji
fonte
possível duplicata de HTML CSS Invisible Button
Dryden Long

Respostas:

238

Para eliminar o contorno ao clicar, adicione outline:none

Exemplo de jsFiddle

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

j08691
fonte
Isso é realmente bom o suficiente. Já experimentei a forma de imagem e funcionou exatamente como precisava. Muito obrigado, Sr. Hayes!
Shinji
1
Funciona 100% após a inclusão -webkit-box-shadow: none; -moz-box-shadow: none;no código
h3nr1ke
6
Pode otimizá-lo mudando background-color: Transparent; background-repeat:no-repeat;parabackground: Transparent no-repeat;
Filipe Amaral
1
falta outline: none;me pega sempre
Adam
4

A solução é muito fácil, na verdade:

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

Este é um estilo embutido. Você está definindo a borda como sendo 1px, linha sólida e preta. A cor de fundo é então definida como transparente.


ATUALIZAR

Parece que sua pergunta REAL é como você evita a borda após clicar nela. Isso pode ser resolvido com um seletor pseudo CSS: :active.

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

JSFiddle Demo

EnigmaRM
fonte
Ainda deixa uma sombra de borda depois que você clica nela. Obrigdo por sua contribuição!
Shinji
Portanto, sua pergunta real é muito diferente da pergunta original à qual respondi. Você já sabe como usar CSS para tornar o botão transparente. Depois de clicado, ele está deixando uma borda que você não deseja. Isso é correto?
EnigmaRM
Sim, sinto muito se minha pergunta foi enganosa.
Shinji
2

Faça um div e use sua imagem (png com fundo transparente) como fundo do div, então você pode aplicar qualquer texto dentro desse div para passar o mouse sobre o botão. Algo assim:

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

CSS:

.button {
height:20px;
width:40px;
background: url("yourimage.png");
}
Gary Hayes
fonte
Se você quiser manter seu html semântico e acessível, é melhor usar a tag do botão e remover o fundo, etc. usando css. No entanto, isso é bom, especialmente em uma situação em que a acessibilidade não é um problema, como um aplicativo nativo que usa html5 e CSS para o layout. Aqui está um exemplo: 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;    
}
user3917930
fonte
0

Definir sua imagem de plano de fundo como nenhuma também funciona:

button {
    background-image: none;
}
javier_domenech
fonte
0

** adicione o botão superior do ícone 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>

Omar Bakhsh
fonte