<a href=“”>リンクをボタンのようにする方法は?


100

私はこのボタンの画像を持っています:
ここに画像の説明を入力してください

<a href="">some words</a>リンクをボタンとして表示するシンプルでスタイルを作ることができるかどうか疑問に思っていましたか?

可能であれば、どうすればよいですか?



1
CSSを使用していると思います;)google.com.ua/search?q=style+anchor+tag+like+button
antyrat

5
ユーザーはWebインターフェースの外観によってその動作を理解する必要があります...したがって、ボタンの外観をリンクとして使用したり、リンクの視覚的外観をボタンとして使用したりしないでください。
拮抗薬

2
通常、ボタンには複数の画像が必要です。標準、ホバー、押されている、アクティブです。さもなければそれは自然に感じません。
user123444555621

cursor: pointer;これは通常のボタンでも発生し、ユーザーに役立つため、cssを追加して、カーソルが人差し指で手のリンクに見えるようにすることをお勧めします。
R. Schreurs

回答:


105

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/


これは、aタグに直接適用した場合にのみ機能します(a {display: block ...})。これは許容されません。タグclass内の属性aが機能しない理由はありますか?:(私も試したのFirefox 27. Iを使用していますa.button {...}し、それはどちらか動作しません。
just_a_girl

4
ブートストラップを使用している場合は、<a class="btn btn-info"> </a>を実行して既存のブートストラップスタイルを使用し、新しいスタイルを定義しないようにすることができます。
stcorbett、2015

ボタンに下線が引かれたら、追加text-decoration:none
Rohit Chemburkar

99

Bootstrapのドキュメントを確認してください。クラス.btnが存在し、aタグを操作しますが.btn-*.btnクラスに特定のクラスを追加する必要があります。

例えば: <a class="btn btn-info"></a>


1
すごい。私はブートストラップを使用していて、それを知らなかった; P
Felipe Carminati 14

13
最近のバージョンのブートストラップでは、特定のbtn- *クラスとbtnクラスが必要です。例:<a class="btn btn-info"> </a>
stcorbett

15

あなたは簡単にそのようなリンクでボタンをラップすることができます <a href="#"> <button>my button </button> </a>


18
HTML5は有効ではありません
hamstar 2013

1
彼らはこれに関する仕様を変えるべきです。それは私にとって最も理にかなっています。
ロニーベスト

14

このようなものはボタンに似ています:

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

例については、http://jsfiddle.net/r7v5c/1/を参照してください。


1
ボーダー半径を追加:5px; ルックを完成させます。
vdbuilder

10
  1. これを試して:

    <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. hrefそこからタグラインを使うことができます。

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

5

特定のデザインをcssでハードコーディングせずに、ブラウザーのデフォルトボタンに依存する場合は、次のcssを使用できます。

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

IEでは動作しない可能性があります。


ブラウザサポートの現在の状態については、caniuse.com / # feat=css-appearanceを参照してください。ブラウザーはappearance: buttonネイティブボタンとは異なる方法でレンダリングする場合があることに注意してください(少なくとも、Chrome 78で確認したところ)。
SOLO

これはまさに私が探していたものですが、特に<a>クロムでは機能しません。テストしてみましたが<span>、問題なく動作しました。
ハッシュブラウン

4

他の回答はどれも、リンクボタンがホバー時に外観を変更するコードを示していません。

これは私がそれを修正するためにしたことです:

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/


2
  • タグのbackground-imageCSSプロパティを使用する<a>
  • 設定display:blockや調整widthおよびheightCSSで

これでうまくいくはずです。


1

はい、できます。

次に例を示します。

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

もちろん、上記の例を必要に応じて変更できます。重要なことは、ブロック(display:block)またはインラインブロック(display:inline-block)として表示することです。


表示を維持する必要があります:インライン; そして、高さと幅を使用する代わりに、パディングと行の高さを使用してアンカーのサイズを調整する必要があります
Antagonist

@Antagonist:OPは背景として画像を望んでおり、彼はおそらく常に同じものを使用するため、その画像の特定の高さと幅を使用すべきでない理由はわかりません。しかし、私はOPが提案されたすべての解決策を試し、彼にとって最良と思われるものを選択すると思います。
r0skar

私が言っていることは...同じことを達成し、インラインに元の表示特性を維持するために、他のCSSプロパティを使用すること、である
アンタゴニスト

1

基本的なHTMLの場合、HREF内の画像URLにsrcを設定したimgタグを追加できます(A)

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

1

ボタンとして表示するアンカー要素のクラスを作成できます。

例えば:

画像の使用:

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

または純粋なCSSアプローチを使用します:

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

常に次のようなものでテキストを隠すことを忘れないでください:

text-indent: -9999em;

純粋なCSSボタンの優れたギャラリーがここに あり、css3ボタンジェネレーターを使用することもできます

たくさんのスタイルと選択肢がここにあります

幸運を


1

整合性には2つのオプションがあります。

  1. フレームワーク固有のタグを使用し、Webサイト全体で使用します。
  2. JavaScriptを使用してボタン要素のリンクをエミュレートし、ブラウザのボタンと一致するボタンの外観を持たせます。これらのcssボタンの外観のハックは、正確ではありません。

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

return false; クリックされるボタンのデフォルトの動作を防止することです。


1

通常のcssボタンのデザインを採用し、そのCSSをリンクに適用します(ボタンの場合とまったく同じ方法で)。

例:

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

私は過去のプロジェクトでこれを実行しましたが、IEは動作を拒否します。私はこのコードをテストしましたが、もっと正当化が必要な懸念を述べたいと思います。
MEM 2013

0

アクティブとフォーカスを追加した後に問題が発生した場合は、ボタンにクラスまたはIDの名前を付け、これをcssに追加します

例えば

// htmlコード

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

// cssコード

#aboutus{background-color: white;border:none;outline-style: none;}


-1

このコードを試してください:

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

これを見てください(方法を説明します)-https://youtu.be/euti4HAJJfk


StackOverflowへようこそ!関連するすべてのコードを投稿に含めてください。外部のWebサイトへのリンクだけを含めるのではありません。リンクは追加情報に最適ですが、投稿は他のリソースから独立している必要があります。リンクは変更されるか、「無効」になる可能性があります。同僚のプログラマーは、質問に詳細に記載されている問題を回答から直接解決できるはずです。
Zachary Espiritu

-3

そのような単純な:

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

"class =" btn btn-success "&role = buttonを追加するだけです


1
この質問にはブートストラップタグがありません。class="btn btn-success"ブートストラップクラスです。
element11
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.