Làm thế nào để tạo một nút HTML trong suốt?


123

Tôi đang sử dụng dreamweaver để tạo một trang web và tôi đã nghĩ đến việc chỉ sử dụng Photoshop để tạo nền. Tôi quyết định làm như vậy chỉ vì trong trường hợp tôi muốn thay đổi tên nút dễ dàng bằng cách chỉ chỉnh sửa mã, tôi chỉ có thể tham khảo mã. Nếu tôi tạo các nút bằng Photoshop, tôi sẽ không thể dễ dàng chỉnh sửa Văn bản trong các nút đó hoặc trong bất kỳ phần tử nào.

Vì vậy, câu hỏi của tôi rất đơn giản, Làm cách nào để tạo một nút có kiểu nội tuyến đơn giản, làm cho nó trong suốt để lại giá trị của nút vẫn hiển thị.

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

Nó vẫn để lại bóng viền sau khi bạn nhấp vào nó.


có thể trùng lặp của HTML CSS Invisible Button
Dryden dài

Câu trả lời:


238

Để thoát khỏi đường viền khi nhấp, hãy thêm outline:none

ví dụ jsFiddle

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


Điều này thực sự là đủ tốt. Tôi đã thử theo cách hình ảnh và nó đã làm đúng như yêu cầu. Xin cảm ơn ông Hayes rất nhiều!
Shinji

1
Nó hoạt động 100% sau khi bao gồm -webkit-box-shadow: none; -moz-box-shadow: none;trong mã
h3nr1ke

6
Bạn có thể tối ưu hóa nó thay đổi background-color: Transparent; background-repeat:no-repeat;đếnbackground: Transparent no-repeat;
Filipe Amaral

1
sự mất tích outline: none;khiến tôi luôn gặp phải
Adam

4

Giải pháp thực sự khá dễ dàng:

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

Đây là một phong cách nội tuyến. Bạn đang xác định đường viền là 1px, đường liền nét và có màu đen. Màu nền sau đó được đặt thành trong suốt.


CẬP NHẬT

Có vẻ như câu hỏi THỰC TẾ của bạn là làm cách nào để ngăn đường viền sau khi nhấp vào nó. Điều đó có thể được giải quyết với một selector giả CSS: :active.

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

JSFiddle Demo


Vẫn để lại bóng viền sau khi bạn đã nhấp vào nó. Cảm ơn về thông tin bạn vừa nhập!
Shinji

Vì vậy, câu hỏi thực tế của bạn rất khác so với câu hỏi ban đầu mà tôi đã trả lời. Bạn đã biết cách sử dụng CSS để làm cho nút trong suốt. Sau khi được nhấp vào, nó sẽ để lại một đường viền mà bạn không muốn. Điều đó có chính xác không?
EnigmaRM

Vâng, tôi thực sự xin lỗi nếu câu hỏi của tôi gây hiểu lầm.
Shinji

2

Tạo một div và sử dụng hình ảnh của bạn (png với nền trong suốt) làm nền của div, sau đó bạn có thể áp dụng bất kỳ văn bản nào trong div đó để di chuột qua nút. Một cái gì đó như thế này:

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

CSS:

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

Nếu bạn muốn giữ ngữ nghĩa html của mình và có thể truy cập, tốt nhất là sử dụng thẻ nút và xóa nền, v.v. bằng css. Tuy nhiên, điều này là tốt, đặc biệt là trong tình huống mà khả năng truy cập không phải là vấn đề như ứng dụng gốc sử dụng html5 và CSS cho bố cục, đây là một ví dụ: 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

Đặt hình nền của nó thành không cũng hoạt động:

button {
    background-image: none;
}

0

** thêm nút trên cùng biểu tượng như thế này **

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.