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.


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;
}


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


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");
}

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;    
}

0

Das Setzen des Hintergrundbilds auf "Keine" funktioniert auch:

button {
    background-image: none;
}

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>

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.