2012-04-01 4 views
0

私は様々なウェブサイトを見ていて、 "ボタン"を作るために複数の方法に遭遇しました。それぞれの長所と短所は何ですか?ウェブページの「ボタン」として使用するには?

<div class='btn'><a>Click Me!</a></div> 

<span class='btn'><a>Click Me!</a></span> 

<a class='btn'>Click Me!</a> 

CSS:

.btn{ 
display:inline-block; 
min-width:100px; 
text-decoration:none; 
cursor: pointer; 
} 
+0

表示インライン例よりも小さくなる:ブロック;表示する必要があります:インラインブロック; – mikevoermans

+0

「ボタン」の機能は何ですか?ページのナビゲーション?フォーム提出ですか?セマンティクスは本質的に機能性に結びついているため、そのことを知らずには答えられません。 – steveax

+0

ページのナビゲーション。私はそれがどのように機能に結びついているか知りたいですが。 – you786

答えて

3

それらはすべての3つのまったく同じことです。それらはすべて単なるリンクです。唯一の違いは、親クラスがセレクタターゲットとして使用されることです。彼らは事実上同じです。

第1と第2の違いは1つですが、 divはデフォルトでブロック要素で、spanとaタグは両方ともインラインであるため、ダイブはコンテナの幅全体を埋めますが、これはcssで変更できます(例のように)。

どうして私は知りません...私を狂気と呼びますが、なぜ実際のボタンを使用しないのですか?

ボタンを使用しないと考えることができる唯一の理由は、リンクを検索スパイダーにしたい場合です。フォームを投稿するためにjavascriptを使用する場合は、代わりにボタンを使用することをお勧めします。

+0

ありがとうございます。私はアンカータグを使い、入力するのが簡単になり、必要に応じて後で変更しました。私がしなければならないのは、既存のリンクにもbtnクラスを追加することだけです。 – you786

0

私はaタグ(詳細here)についてはよく分からないんだけど、spanタグは、インラインであるとdivタグはありません。そうでなければ、彼らはまったく同じです。

+0

真実ですが、私が指摘したように、彼のCSSは表示モードをすべての要素のインラインブロックに変更するので、それは本当に問題です。 –

+0

mmm、本当に気付かなかった。私はそれがちょうど味の問題だと思いますか? :P – Jwosty

0

<div><span>はJavaScriptを使用してアクションを持っている必要がありますが、<a>は、Javaスクリプトコード

+0

すべての3つの例では、aタグ –

1

私はクリスCoyerでthis articleを読んでお勧めを使用せずに他のページへのリンクを持つことができます。タイトルは「When (and when not to) use an anchor tag?」です。ここで

は抜粋です:

私はあなたが が実際にJavaScriptが無効になっている場合でも、何かをすることをアンカーにhref属性を入れしようとしている場合は、 アンカーは正しい選択だと思います。アプリケーションがJavaScriptに完全に依存している場合は、 JavaScriptを介してすべての動作が添付されていますが、実際には使用しない要素は ではありません。場合によっては、 アンカーを使用しない方が良いかもしれません。なぜなら、おそらく動作がおそらくアンカー リンクと何ら似ていないからです。あなたはおそらくそれから私を話すことができます。問題は、 アンカーが、あなたに(無料で)たくさんの視覚的な機能を与えてくれることです。深いブラウザでサポートしたい場合は です。だから...

0

フォーム提出を使用している場合は、inputボタンを使用することをお勧めします。それはフォームを送信するために、さらにJavascriptコードを必要としないためです。

spandivの違いは、divはコンテナエレメントで、spanはそうではありません。どのようにこれはあなたに役立つのですか?彼のlinkをチェックしてください。あなたが任意のスタイルを適用したくない場合は、あなたが(または)サーバー(または)あなたには、いくつかのJavaScriptのイベントハンドラを記述するために喜んでいるならば、anchorタグ

に行くにその場合は、単純なGETリクエストを書面で大丈夫です場合

0

2つではなく1つのDOM要素を使用するので、最も良い方法は3番目の方法だと思います。これにより、パフォーマンスが向上し、スタイリング用に空のDOM要素を作成していないため、コードがより意味的になります。また

、アンカーは100pxによりも小さければ、実施例1及び2でクリック可能なゾーンが3

関連する問題