0

1 つのページの要素を変更するコマンドのリストを持つ Web アプリを作成しています。ページは JavaScript に 100% 依存しています。したがって、これらのリンクを次のようにコーディングしました。

<a href="#">Command #1</a>

これが意味的に正しいかどうか疑問に思ったので、代わりに a を使用する必要があると述べている多くの場所を見つけましたbutton

これは理にかなっていますが、ボタンのスタイルをリンクのように変更する必要があることを意味します。これは正しい方法ですか?

4

5 に答える 5

2

要素に与えるスタイルは、それが意味的に正しいコードであるかどうかとは無関係なので、あまり心配する必要はありません。

LinksWeb 上のページ間でユーザーをリンクすることを目的としています。

HTMLInput要素は、ユーザー入力を受け取り、それを処理するためのものです。

この単純なヒューリスティックに基づいて、私はボタンで行くと思います!

于 2012-10-15T21:02:20.790 に答える
1

HTML5 仕様は、使用すべきではないという点で非常に明確ですa

a要素に属性がある場合、hrefそれはハイパーリンク (ハイパーテキスト アンカー) を表します。

「ハイパーリンク」の定義は次のとおりです。

これらは他のリソースへのリンクです […]

aしたがって、単一ページ Web アプリの「アクション」には使用しないでください。

あなたは一緒に行くか、button またはrespする必要があります。input(私は両方とも のtype値で言いますbutton)。

新しい HTML5 の内容に飛び込みたい場合は、 と をご覧menuくださいcommand


念のため:リンク/ボタンのように振る舞うために、JS を使用して他の要素 (spanまたは など) を「拡張」しないでください。divこれは、仮にあったとしても、さらなる作業なしではアクセスできません。

于 2012-10-15T21:48:22.490 に答える
0

どちらも技術的には問題なく使用できます。私にとっては、テキスト リンクの場合は<a>タグを使用し、フォーム ボタンまたは画像の場合は を使用します<button>。そうすれば、要素の使用目的と一貫性を保つことができます。

于 2012-10-15T21:02:24.410 に答える
0

リンクの使用が意味的に間違っているとは思いません。気分が良くなる場合は、リンクをボタンとしてスタイルできます。

それ以外の場合でも、それでも問題が解決しない場合は、ボタンをリンクのようにスタイリングすることに問題はありません。アプリの機能は、ボタンの表示方法とはほとんど関係ありません。ただし、ボタンが同じことを行い、期待どおりに収まる場合に限ります。

コメントで述べたように、ボタンを使用する場合は、ボタンがフォーム要素としてスタイルされ、アンカー タグを操作するよりも難しくなる可能性があることに注意してください。

于 2012-10-15T21:00:09.510 に答える
0

一般的に、これらのことには div を使用することを好みます。リンクには、多くの固有のブラウザー スタイルが付属しており、ボタンの場合はなおさらです。Div の唯一のルールは、display:block です。そのため、CSS のリセット行をいくつか節約できます。また、デフォルトの動作を防ぐためにいくつかの js コードを節約できます。正しいセマンティックの選択がないという事実に加えて、div を使用することは非常に理にかなっています。

于 2012-10-15T21:06:44.767 に答える