HTML|HTML/Tags|HTML/Sample|HTML/Tips
for属性を使います。for属性はフォームパーツと要素を関連付けるために用いられる属性で、主に label 要素に用いられます。
以下の例では、label要素に for属性をつけることで、同じ内容のid属性を持つ要素と関連付けています。そのままコピペするだけで、あなたのページにGoogle検索ボタンをつけることができます。
<form action="http://www.google.com/search" method="get"> <label for="key">Google: </label> <input id="key" type="search" name="q"> <input type="submit"> </form>
以下のように、aタグで簡単に設置できます。Twitter などのリンク文字部分を imgタグで画像に変更するなど、ボタンの仕様も簡単に変更可能です。
<a href="http://twitter.com/share?url=http://(ページのURL )">Twitter</a>
<a href="https://www.facebook.com/sharer/sharer.php?u=http://(ページのURL )">Facebook</a>
<a href="https://social-plugins.line.me/lineit/share?http://(ページのURL )">LINE</a>
地図画像等で、地図上の特定の範囲にリンクを設定したい場合、map タグと area タグを使うことで、HTMLのみで実装可能です。
<img src="map.gif" usemap="#sample"> <map name="sample"> <area shape="rect" coords="20,10,120,80" href="01.html"> <area shape="circle" coords="200,100,40" href="02.html"> <area shape="poly" coords="400,100,500,100,500,200,400,100" href="03.html" > <area shape="default" href="00.html"> </map>要点は以下のとおり
shape = "rect":矩形 x1, y1, x2, y2 ※左上と右下 shape = "circle":円 cx, cy, r ※中心と半径 shape = "poly":多角形 x1, y1, x2, y2, x3, y3, ・・・
iframe でコンテンツを受け入れるエリアを作っておいて、リンクのターゲットでその場所を指定することで実現可能です。
Webで表示される文字は、基本的には閲覧者のPC環境に依存します。Macで作っているときはきれいに見えても、Windowsで見ると残念な状態になる…というのは、閲覧環境のフォントが異なるからです。特にユーザーがブラウザの設定で、テキストデータの表示に使うフォントをマニュアルで指定している場合は、作り手の意図は反映されない・・というのがふつうです。
作り手の意図通りの見た目で表示させるひとつの方法としては、WebFontsを使う・・という発想があります。ただし、日本語の場合、漢字・ひらがな・カタカナ・英数と多くの文字種を含むので、フォントデータ自体が重く(1MBを超える)、閲覧者に通信上の負担をかけてしまうという問題があります。アルファベットのみのWebフォントを使って、メニューや見出し部分のみ英文表記・・などとすれば、見た目はそれなりにきれいで、しかも軽い・・というものが実現できるでしょう。Webフォントの使い方については、以下のページにまとめていますので、ご覧下さい。
また、以前からある簡単・確実な手段として、文字を「画像」としてつくる(つまり、xxx.gif などとしてつくる)…という方法があります。ただし、変更の度に画像を作り直すという手間がかかることや、サーチエンジンでは画像上の文字は拾ってもらえないという問題もあり、自身で管理運営するサイトの場合はあまりお勧めできません。
Web制作会社にとっては、このボタン画像制作は課金項目でもあり、現在でもビジュアル重視のサイトでは、よく見かけます。
この要望の発生率は下がってきました。そろそろ不要かと・・
かつては、frameタグを使ってメニューとコンテンツを分離する方法もありましたが、ナビの無い正体不明のページが検索でかかってしまうなど、様々な理由で非推奨となり、実際HTML5ではframeタグは削除されました。
しかし、全ページに同じメニュー部分を記述するのはどうも…
メニューだけ能率的に分離する方法はないのか? という方は…
<!--#include file="nav.html"-->上の記述例では、サーバー側でコメント部分をnav.htmlに置き換えて配信します。
SSIのサンプル SSI_Sample.zip
・当然ですが、サーバーにアップしないと動作確認はできません。
・また、アップ先のサーバが SSI に対応している必要があります。
・メインのファイルの拡張子は「shtml」とする必要があります。
> index.shtml
この問題の発生率は下がってきました。そろそろ不要かと・・
独自路線色の強かった少し前のI.E.(InternetExplorer)ではHTML5への対応も不完全で、他の標準ブラウザのような動作が期待できません。Googleからそれを解消するスクリプトが提供されていますので、お試し下さい。
<!--[if lt IE 9]> <script src="js/html5shiv.js"></script> <![endif]-->HTMLの記述としては、単なる注釈扱いになりますが、IEのみが以下のように解釈します。
<!--[if lt IE 9]> <script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> <![endif]-->この情報のオリジナルは以下にあります。最新の情報を使って下さい。