Bagaimana cara membuat tautan <a href=””> terlihat seperti tombol?

100

Saya memiliki gambar tombol ini:
masukkan deskripsi gambar di sini

Saya bertanya-tanya apakah mungkin membuat <a href="">some words</a>tautan sederhana dan gaya yang muncul sebagai tombol itu?

Jika memungkinkan, bagaimana cara melakukannya?

GeekedOut
sumber
1
Saya kira menggunakan CSS;) google.com.ua/search?q=style+anchor+tag+like+button
antyrat
5
Pengguna harus tahu dari tampilan antarmuka web apa perilakunya ... jadi tampilan tombol tidak boleh digunakan sebagai tautan, dan tampilan visual tautan tidak boleh digunakan sebagai tombol.
Antagonis
2
Biasanya Anda memerlukan lebih dari satu gambar untuk sebuah tombol: Standar, di-hover, ditekan, aktif. Kalau tidak, itu tidak akan terasa alami.
pengguna123444555621
Saya sarankan Anda juga menambahkan cursor: pointer;css untuk membuat kursor terlihat menghubungkan tangan dengan jari telunjuk yang menunjuk, karena ini juga terjadi dengan tombol biasa dan merupakan bantuan yang berguna bagi pengguna.
R. Schreurs

Jawaban:

107

Menggunakan CSS:

.button {
    display: block;
    width: 115px;
    height: 25px;
    background: #4E9CAF;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    line-height: 25px;
}
<a class="button">Add Problem</a>

http://jsfiddle.net/GCwQu/

Declan Cook
sumber
Ini hanya berfungsi untuk saya jika saya menerapkannya ke atag langsung ( a {display: block ...}), yang tidak dapat diterima. Apakah Anda tahu mengapa classatribut di dalam atag tidak berfungsi? :( Saya menggunakan Firefox 27. Saya juga mencoba a.button {...}dan tidak berhasil.
just_a_girl
4
jika Anda menggunakan bootstrap, Anda dapat melakukan <a class="btn btn-info"> </a> dan menggunakan gaya bootstrap yang ada dan menghindari menentukan gaya baru.
stcorbett
jika Anda mendapatkan garis bawah di tombol Anda, tambahkantext-decoration:none
Rohit Chemburkar
99

Periksa dokumen Bootstrap . Kelas .btnada dan berfungsi dengan atag, tetapi Anda perlu menambahkan .btn-*kelas tertentu dengan.btn kelas tersebut.

misalnya: <a class="btn btn-info"></a>

Gildas Ross
sumber
1
Bagus. Saya menggunakan Bootstrap dan tidak tahu itu; P
Felipe Carminati
13
Dalam versi terbaru dari bootstrap Anda memerlukan kelas btn- * khusus dengan kelas btn. misalnya: <a class="btn btn-info"> </a>
stcorbett
15

Anda dapat dengan mudah membungkus tombol dengan tautan seperti itu <a href="#"> <button>my button </button> </a>

Antagonis
sumber
18
Bukan orang valid HTML5
hamstar
1
Mereka harus mengubah spesifikasi yang satu ini; itu yang paling masuk akal bagi saya.
Lonnie Best
14

Sesuatu seperti ini akan tampak seperti tombol:

a.LinkButton {
  border-style: solid;
  border-width : 1px 1px 1px 1px;
  text-decoration : none;
  padding : 4px;
  border-color : #000000
}

Lihat http://jsfiddle.net/r7v5c/1/ sebagai contoh.

berlari
sumber
1
menambahkan border-radius: 5px; akan melengkapi tampilan.
vdbuilder
10
  1. Coba ini:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    
    <div class="container">
      <h2>Button Tags</h2>
      <a href="#" class="btn btn-info" role="button">Link Button</a>
      <button type="button" class="btn btn-info">Button</button>
      <input type="button" class="btn btn-info" value="Input Button">
      <input type="submit" class="btn btn-info" value="Submit Button">
    </div>

  2. Anda dapat menggunakan hreftag line dari sana.

    <a href="URL" class="btn btn-info" role="button">Button Text</a>
Mengantuk B
sumber
5

Jika Anda ingin menghindari hard-coding desain tertentu dengan css, tetapi lebih mengandalkan tombol default browser, Anda dapat menggunakan css berikut.

a.button {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}

Perhatikan bahwa ini mungkin tidak akan berfungsi di IE.

botmsh
sumber
Untuk status dukungan browser saat ini, lihat caniuse.com/#feat=css-appearance ; perhatikan bahwa peramban mungkin merender secara appearance: buttonberbeda dari tombol asli (setidaknya ketika saya baru saja memeriksa di Chrome 78).
SOLO
ini persis seperti yang saya cari, tetapi secara khusus tidak berfungsi <a>di chrome. Mengujinya <span>dan bekerja dengan baik.
Hashbrown
4

Tidak ada jawaban lain yang menunjukkan kode di mana tombol tautan mengubah tampilannya saat mengarahkan kursor.

Inilah yang saya lakukan untuk memperbaikinya:

HTML:

<a href="http://www.google.com" class="link_button2">My button</a>

CSS:

.link_button2 {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: solid 1px #1A4575;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  background: #3A68A1;
  color: #fee1cc;
  text-decoration: none;
  padding: 8px 12px;
  text-decoration: none;
  font-size: larger;
}

a.link_button2:hover {
  text-decoration: underline;
  background: #4479BA;
  border: solid 1px #20538D;

  /* optional different shadow on hover
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 1px rgba(0, 0, 0, 0.4);
  */

}

JSFiddle: https://jsfiddle.net/adamovic/ovu3k0cj/

Mladen Adamovic
sumber
2
  • Gunakan background-imageproperti CSS di<a> tag
  • Atur display:blockdan sesuaikan widthdan heightdi CSS

Ini seharusnya berhasil.

dweeves
sumber
1

Ya, Anda bisa melakukan itu.

Berikut ini contohnya:

a{
    background:IMAGE-URL;
    display:block;
    height:IMAGE-HEIGHT;
    width:IMAGE-WIDTH;
}

Tentu saja Anda dapat memodifikasi contoh di atas sesuai kebutuhan Anda. Yang penting adalah membuatnya muncul sebagai blok ( display:block) atau blok sebaris ( display:inline-block).

r0skar.dll
sumber
Anda harus menjaga tampilan: inline; dan alih-alih menggunakan tinggi dan lebar, Anda harus menggunakan bantalan dan tinggi garis untuk menyesuaikan ukuran jangkar
Antagonist
@ Antagonis: Karena OP menginginkan gambar sebagai latar belakang dan kemungkinan besar dia akan selalu menggunakan gambar yang sama, saya tidak mengerti mengapa dia tidak boleh menggunakan tinggi dan lebar tertentu dari gambar itu. Tapi saya kira OP akan mencoba semua solusi yang disarankan dan memilih salah satu yang menurutnya terbaik.
r0skar
apa yang saya katakan adalah, menggunakan properti css lain untuk mencapai hal yang sama dan mempertahankan properti tampilan asli menjadi sebaris ...
Antagonis
1

Untuk HTML biasa, Anda cukup menambahkan tag img dengan src disetel ke URL gambar Anda di dalam HREF (A)

<a href="http://www.google.com"><img src="http://problemio.com/img/ui/add_problem.png" /></a>
msmucker0527
sumber
1

Anda dapat membuat kelas untuk elemen jangkar yang ingin Anda tampilkan sebagai tombol.

Misalnya:

Menggunakan gambar:

.button {
   display:block;
   background: url('image');
   width: same as image
   height: same as image
}

atau menggunakan pendekatan CSS murni:

.button {
    background:#E3E3E3;
    border: 1px solid #BBBBBB;
    border-radius: 3px 3px 3px 3px;
}

Selalu ingat untuk menyembunyikan teks dengan sesuatu seperti:

text-indent: -9999em;

Galeri luar biasa dari tombol CSS murni ada di sini dan Anda bahkan dapat menggunakan generator tombol css3

Banyak gaya dan pilihan ada di sini

semoga berhasil

Rdpi
sumber
1

Anda punya dua opsi untuk konsistensi.

  1. Gunakan tag khusus kerangka kerja, dan gunakan di seluruh situs web.
  2. Gunakan JavaScript untuk meniru tautan pada elemen tombol, lalu buat tombol tersebut konsisten dengan tampilan tombol browser. Peretasan tampilan tombol css itu tidak akan pernah akurat.

.

<button onclick="location.href = 'Homepage.html'; return false;">My Button</button>

return false; adalah untuk mencegah perilaku default dari tombol yang diklik.

Ghasan
sumber
1

Ambil saja desain tombol css biasa, dan terapkan CSS itu ke tautan (dengan cara yang persis sama seperti yang Anda lakukan pada tombol).

Contoh:

<a href="#" class="stylish-button">Some words</a>

<style type="text/css">
.stylish-button {
    -webkit-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    -moz-box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    box-shadow:rgba(0,0,0,0.2) 0 1px 0 0;
    color:#333;
    background-color:#FA2;
    border-radius:5px;
    -moz-border-radius:5px;
    -webkit-border-radius:5px;
    border:none;
    font-size:16px;
    font-weight:700;
    padding:4px 16px;
    text-shadow:#FE6 0 1px 0
}
</style>
anak laki-laki
sumber
Saya telah melakukan ini di proyek-proyek sebelumnya dan IE menolak untuk berperilaku. Saya telah menguji kode ini, tetapi saya ingin menyatakan kekhawatiran yang membutuhkan lebih banyak pembenaran.
MEM
0

bagi mereka yang mengalami masalah setelah menambahkan aktif dan fokus berikan nama kelas atau id ke tombol Anda dan tambahkan ini ke css

sebagai contoh

// kode html

<button id="aboutus">ABOUT US</button>

// kode css

#aboutus{background-color: white;border:none;outline-style: none;}
Subham choudhary
sumber
-1

Diuji dengan Chromium 40 dan Firefox 36

<a href="url" style="text-decoration:none">
   <input type="button" value="click me!"/>
</a>
Franz Fankhauser
sumber
1
Ini bukan HTML yang valid.
Javier
-1

Coba kode ini:

<code>

    <a href="#" class="button" > HOME </a>

    <style type="text/css">

        .button { background-color: #00CCFF; padding: 8px 16px; display: inline-block; text-decoration: none; color: #FFFFFF border-radius: 3px;}

        .button:hover { background-color: #0066FF; }

    </style>

</code>

Tonton ini (Ini akan menjelaskan cara melakukannya) - https://youtu.be/euti4HAJJfk

D. Madhushan
sumber
Selamat datang di StackOverflow! Harap sertakan semua kode yang relevan dalam posting Anda dan jangan hanya menyertakan link ke situs eksternal. Tautan bagus untuk informasi tambahan , tetapi pos Anda harus berdiri sendiri dari sumber daya lain — tautan dapat berubah atau menjadi "mati". Rekan programmer harus dapat menyelesaikan masalah yang dirinci dalam pertanyaan langsung dari jawaban Anda.
Zachary Espiritu
-3

Sesederhana itu:

<a href="#" class="btn btn-success" role="button">link</a>

Cukup tambahkan tombol "class =" btn btn-success "& role =

lio
sumber
1
Pertanyaan ini tidak memiliki tag bootstrap. class="btn btn-success"adalah kelas bootstrap.
elemen11