วิธีสร้างปุ่ม HTML แบบโปร่งใส


125

ฉันใช้ Dreamweaver เพื่อสร้างเว็บไซต์และฉันคิดว่าจะใช้ Photoshop เพื่อสร้างพื้นหลัง ฉันตัดสินใจที่จะทำเช่นนั้นเพียงเพราะในกรณีที่ฉันเลือกที่จะเปลี่ยนชื่อปุ่มได้อย่างง่ายดายเพียงแค่แก้ไขรหัสฉันสามารถอ้างถึงรหัสได้ ถ้าฉันจะสร้างปุ่มโดยใช้ Photoshop ฉันจะไม่สามารถแก้ไขข้อความในปุ่มเหล่านั้นหรือในองค์ประกอบใด ๆ ได้อย่างง่ายดาย

ดังนั้นคำถามของฉันจึงง่ายมากฉันจะสร้างปุ่มที่มีรูปแบบอินไลน์เรียบง่ายได้อย่างไรทำให้โปร่งใสโดยที่ยังคงมองเห็นค่าของปุ่มได้

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

มันยังคงทิ้งขอบเงาไว้หลังจากที่คุณคลิก


เป็นไปได้ที่จะทำซ้ำของHTML CSS ปุ่มที่มองไม่เห็น
Dryden Long

คำตอบ:


240

หากต้องการกำจัดโครงร่างเมื่อคลิกให้เพิ่ม outline:none

ตัวอย่าง jsFiddle

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


นี่ดีพอแล้ว ฉันได้ลองใช้ภาพแล้วและทำได้ตามที่ต้องการ ขอบคุณมากนายเฮย์ส!
ชินจิ

1
ใช้งานได้ 100% หลังจากรวม-webkit-box-shadow: none; -moz-box-shadow: none;ไว้ในรหัส
h3nr1ke

6
คุณสามารถเพิ่มประสิทธิภาพได้โดยเปลี่ยนbackground-color: Transparent; background-repeat:no-repeat;เป็นbackground: Transparent no-repeat;
Filipe Amaral

1
หายไปoutline: none;ทำให้ฉันทุกครั้ง
อดัม

5

วิธีแก้ปัญหาค่อนข้างง่ายจริง ๆ :

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

นี่เป็นการทำแบบอินไลน์ คุณกำลังกำหนดเส้นขอบเป็น 1px เส้นทึบและเป็นสีดำ จากนั้นสีพื้นหลังจะถูกกำหนดเป็นโปร่งใส


UPDATE

ดูเหมือนว่าคำถามจริงของคุณคือคุณจะป้องกันเส้นขอบได้อย่างไรหลังจากคลิกที่มัน ที่สามารถแก้ไขได้ด้วยการเลือก CSS :activeหลอก:

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

JSFiddle สาธิต


ยังคงทิ้งเส้นขอบไว้หลังจากที่คุณคลิก ขอบคุณสำหรับข้อมูลของคุณ!
ชินจิ

ดังนั้นคำถามที่แท้จริงของคุณจึงแตกต่างจากคำถามเดิมที่ฉันตอบไปมาก คุณรู้วิธีใช้ CSS เพื่อทำให้ปุ่มโปร่งใสแล้ว หลังจากคลิกแล้วมันจะออกจากเส้นขอบที่คุณไม่ต้องการ ว่าแม่นมั้ย?
EnigmaRM

ใช่ฉันเสียใจอย่างมากหากคำถามของฉันทำให้เข้าใจผิด
ชินจิ

2

สร้าง div และใช้รูปภาพของคุณ (png ที่มีพื้นหลังโปร่งใส) เป็นพื้นหลังของ div จากนั้นคุณสามารถใช้ข้อความใดก็ได้ภายใน div นั้นเพื่อวางเมาส์เหนือปุ่ม สิ่งนี้:

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

CSS:

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

หากคุณต้องการให้ html มีความหมายและสามารถเข้าถึงได้ควรใช้แท็กปุ่มและลบพื้นหลัง ฯลฯ โดยใช้ css อย่างไรก็ตามนี่เป็นเรื่องปกติโดยเฉพาะอย่างยิ่งในสถานการณ์ที่การช่วยการเข้าถึงไม่ใช่ปัญหาเช่นแอปเนทีฟที่ใช้ html5 และ CSS สำหรับการจัดวางนี่คือตัวอย่าง: 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

** เพิ่มปุ่มไอคอนด้านบนแบบนี้ **

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.