Wie erstelle ich eine transparente HTML-Schaltfläche?

123

Ich verwende Dreamweaver, um eine Website zu erstellen, und ich dachte daran, nur Photoshop zum Erstellen von Hintergründen zu verwenden. Ich habe mich nur dafür entschieden, weil ich, falls ich den Schaltflächennamen einfach durch Bearbeiten der Codes ändern möchte, einfach auf den Code verweisen kann. Wenn ich Schaltflächen mit Photoshop erstellen würde, könnte ich die Texte in diesen Schaltflächen oder in keinem Element einfach bearbeiten.

Meine Frage ist also einfach: Wie erstelle ich eine Schaltfläche mit einem einfachen Inline-Stil, der transparent ist und den Wert der Schaltfläche weiterhin sichtbar lässt?

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

Es hinterlässt nach dem Klicken immer noch einen Randschatten.

Shinji
quelle
Mögliches Duplikat von HTML CSS Invisible Button
Dryden Long

Antworten:

238

Fügen Sie hinzu, um die Gliederung beim Klicken zu entfernen outline:none

jsFiddle Beispiel

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

j08691
quelle
Das ist eigentlich gut genug. Ich habe das Bild bereits ausprobiert und es hat genau das getan, was es brauchte. Vielen Dank, Mr. Hayes!
Shinji
1
Es funktioniert 100% nach Aufnahme -webkit-box-shadow: none; -moz-box-shadow: none;in den Code
h3nr1ke
6
Sie können es optimieren, indem Sie background-color: Transparent; background-repeat:no-repeat;zubackground: Transparent no-repeat;
Filipe Amaral
1
Vermisst outline: none;bekommt mich jedes Mal
Adam
4

Die Lösung ist eigentlich ziemlich einfach:

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

Dies ist ein Inline-Stil. Sie definieren den Rand als 1 Pixel, durchgezogene Linie und schwarz. Die Hintergrundfarbe wird dann auf transparent gesetzt.


AKTUALISIEREN

Ihre IST-Frage scheint zu sein, wie Sie den Rand verhindern können, nachdem Sie darauf geklickt haben. Das kann mit einem CSS-Pseudo-Selektor gelöst werden : :active.

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

JSFiddle Demo

EnigmaRM
quelle
Lässt nach dem Klicken noch einen Randschatten. Danke für deinen Beitrag!
Shinji
Ihre eigentliche Frage unterscheidet sich also stark von der ursprünglichen, auf die ich geantwortet habe. Sie wissen bereits, wie Sie CSS verwenden, um die Schaltfläche transparent zu machen. Nachdem es angeklickt wurde, hinterlässt es einen Rand, den Sie nicht möchten. Ist das richtig?
EnigmaRM
Ja, es tut mir schrecklich leid, wenn meine Frage irreführend war.
Shinji
2

Erstellen Sie ein Div und verwenden Sie Ihr Bild (PNG mit transparentem Hintergrund) als Hintergrund für das Div. Anschließend können Sie einen beliebigen Text in diesem Div anwenden, um den Mauszeiger über die Schaltfläche zu bewegen. Etwas wie das:

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

CSS:

.button {
height:20px;
width:40px;
background: url("yourimage.png");
}
Gary Hayes
quelle
Wenn Sie Ihre HTML-Semantik und den Zugriff beibehalten möchten, verwenden Sie am besten das Schaltflächen-Tag und entfernen Sie den Hintergrund usw. mithilfe von CSS. Dies ist jedoch in Ordnung, insbesondere in einer Situation, in der die Barrierefreiheit kein Problem darstellt, wie bei einer nativen App, die HTML5 und CSS für das Layout verwendet. Hier ein Beispiel: 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
quelle
0

Das Setzen des Hintergrundbilds auf "Keine" funktioniert auch:

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

** füge das Symbol oben wie folgt hinzu **

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