Şeffaf bir HTML düğmesi nasıl yapılır?


125

Bir web sitesi oluşturmak için dreamweaver kullanıyorum ve sadece arka planlar oluşturmak için Photoshop kullanmayı düşündüm. Bunu yapmaya karar verdim çünkü düğme adını sadece kodları düzenleyerek kolayca değiştirmeyi seçersem, sadece koda başvurabilirdim. Photoshop kullanarak düğmeler oluştursaydım, bu düğmelerdeki veya herhangi bir öğedeki Metinleri kolayca düzenleyemezdim.

Öyleyse sorum basit: Basit bir satır içi stiline sahip bir düğmeyi şeffaf hale getirerek düğmenin değerini hala görünür halde bırakarak nasıl oluşturabilirim?

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

Tıkladıktan sonra yine de bir kenarlık gölgesi bırakır.


Yanıtlar:


240

Tıklarken anahattan kurtulmak için outline:none

jsFiddle örneği

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


Bu aslında yeterince iyi. Görüntü yolunu zaten denedim ve tam olarak gerektiği gibi yaptı. Çok teşekkür ederim, Bay Hayes!
Shinji

1
-webkit-box-shadow: none; -moz-box-shadow: none;Kodu
ekledikten

6
Sen değiştirerek optimize edebilirsiniz background-color: Transparent; background-repeat:no-repeat;etmekbackground: Transparent no-repeat;
Filipe Amaral

1
Eksik outline: none;beni hep güldürüyor
Adam

5

Çözüm aslında oldukça kolay:

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

Bu bir satır içi stil yapıyor. Kenarlığı 1px, düz çizgi ve siyah renkli olarak tanımlıyorsunuz. Arka plan rengi daha sonra şeffaf olarak ayarlanır.


GÜNCELLEME

Görünüşe göre GERÇEK sorunuz, üzerine tıkladıktan sonra sınırı nasıl engelleyeceğinizdir. Bu bir CSS sözde seçici ile çözülebilir: :active.

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

JSFiddle Demo


Tıkladıktan sonra yine de bir kenarlık gölgesi bırakıyor. Katkılarınız için teşekkürler!
Shinji

Yani, asıl sorunuz yanıtladığım orijinal sorudan çok farklı. Düğmeyi şeffaf yapmak için CSS'yi nasıl kullanacağınızı zaten biliyorsunuz. Tıklandıktan sonra, istemediğiniz bir sınırdan çıkıyor. Bu doğru mu?
EnigmaRM

Evet, sorum yanıltıcıysa çok üzgünüm.
Shinji

2

Bir div oluşturun ve resminizi (şeffaf arka plana sahip png) div'in arka planı olarak kullanın, ardından bu div içindeki herhangi bir metni düğmenin üzerine getirmek için uygulayabilirsiniz. Bunun gibi bir şey:

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

CSS:

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

Html'nizi anlamsal ve erişilebilir durumda tutmak istiyorsanız, en iyisi düğme etiketini kullanmak ve arka planı kaldırmak vb. Css kullanarak. Ancak, bu sorun değil, özellikle mizanpaj için html5 ve CSS kullanan yerel bir uygulama gibi erişilebilirliğin bir sorun olmadığı bir durumda, işte bir örnek: 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

Arka plan resmini yok olarak ayarlamak da işe yarar:

button {
    background-image: none;
}

0

** bunun gibi simgenin üst düğmesini ekleyin **

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.