• ベストアンサー

文字をボックスで囲うことができるタグは?

<p>今日は<a>晴れ</a>です</p> 上記<a>タグに、以下のstyleを適用すると晴れをボックスで囲うことができます。 a {  display: inline-block;  background: #aaa; } しかし<a>タグはリンク目的で利用します。 <a>タグではなくても<p>~</p>の中で利用できて文字をボックスで囲うことができるタグって他にあるのでしょうか? どうぞよろしくお願い致します。

  • suffre
  • お礼率76% (2013/2633)
  • HTML
  • 回答数4
  • ありがとう数10

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

>文字をボックスで囲うことができるタグは?  とてもとても大事なところを誤解されている。今後の成長のためにぜひとも身につけておいてください。  HTMLは文書構造、スタイルシートはそのプレゼンテーションを指定します。 『構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.4.1 )』  と言われます。  すなわち、 <p>今日は<a href="#hare">晴れ</a>です</p>  とは、#Hareで示されているところにリンクするアンカーが、「今日は・・・す」という段落内にあるというマークアップです。どのように表示するかはHTMLにはまったく無関係です。 ★それが、段落の前後で改行され余白が取られ、a要素にアンダーラインが引かれも辞職が変わるのは、ブラウザがもつスタイルシートによるものです。 ★スクリーンリーダーだと、段落の前後で一呼吸置いて読まれたりするでしょう。  <p></p>はブロック要素で、内部に行内要素しか置けません。 ブロックレベル要素と行内要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.3 ) <!ELEMENT P - O (%inline;)*( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#edef-P )  よって・・ フレーズ要素: EM、 STRONG、DFN、CODE、SAMP、 KBD、VAR、CITE、ABBR、及び ACRONYM要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/text.html#h-9.2.1 )  と、<a>要素、<span>が置けることになります。それぞれの使い道はリンク先を確認。  spanは、他の要素では文書構造を表すのに不十分な時に『id属性及び class属性と併用することで、文書に構造を付加』するために使います。  <span class="mark">ここは他所から参照されるかもむ・・</span>  そのうえで、 em{  background-color:yellow;  padding:0.5em 1em;  font-style:normal;/* ブラウザのデフォルトは斜体なので */ }  とかすればよい。基本的にはdisplay:inline-block;はここでは書かない。 display:inline-block;は、本来は行内要素でないブロック要素やリスト項目要素などを、行内ブロックにプレゼンテーションするときに使用する。  

その他の回答 (3)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.4

htmlはタグを用いてその語句に意味を与えます。 ご存知のように、pは段落を意味し、aはリンクを意味します。 従って、ボックスとして囲みたい文字がどのような意味を持つのかでマークアップすることをおすすめします。 たとえば、その語句を強調したいのであれば、strongやemが有効です。また、特に意味を与えたくない場合、あるいは意味がないことを明示的にするにはspanなどを用います。 また、他の回答者さんと意見が分かれますが、html5からはブロックレベル要素、インラインレベル要素の隔たりがなくなりました。つまり、ブロックレベル、インラインレベルは装飾(CSS)だけの問題であって、HTML構造的には意味を持ちません。たとえば、aタグの中にpタグを入れることができます。他の回答者さんと真逆のことを書いていますが、他の回答者さんはおそらくXHTMLについて述べられていると思います。HTML5はまだ勧告の状態ではありますが、個人的にはXHTMLはもう古いのではないかと思います。

  • DrFell
  • ベストアンサー率55% (305/551)
回答No.2

inline要素のタグすべてで、一応は可能なはずですが……。 ふさわしいのは、晴れの位置づけで変わります。何故晴れをボックスで囲う必要があるのでしょう? 強調したいなら emか strong 強調したいわけではないが、目印とかなら span が、いいかな? strongならデフォルトは太字になるので、cssにfont-weight:normal;等をたす方がいいと思います。 他の要素もデフォルトの装飾をcssで消せば、OK。 一応、inline要素の紹介をすると。 主なインライン要素。 http://www.marguerite.jp/Nihongo/WWW/HTML/Terms.html

  • dolittle0
  • ベストアンサー率26% (11/42)
回答No.1

<p> タグの場合は、borderプロパティを設定すれば囲うことができます。 余白はpaddingプロパティで調整できます。

関連するQ&A

  • pタグ 改行しない 文字位置指定

    pタグを使うけど改行しない、 なおかつ文字は中央に表示する とするにはどうすればいいでしょうか? <style type="text/css"> p.mi{ text-align:center; display:inline; } </style> </head> <body> <p class="mi">テキスト</p>あああ </body> これだと、改行はされませんが、中央に表示されません。

    • ベストアンサー
    • HTML
  • htmlタグについて

    htmlタグについて探しています。 同じページにおいてリンクをクリックすると、ページ自体は変わらないのですが、下に少し下がり、新たな文字が出てくる、といったタグは何ですか? 分かりにくくてすみません。 場所が飛ぶのではなく、今まで出ていなかった文字などが新たに出てくるのです。 ページ自体は変わりません。 間違っているかもしれませんが、そのようなタグが使われていたページのソースを見ると、 <P onClick="document.all.g.style.display =document.all.g.style.display=='none' ? '':'none'"> のようなカンジのものが書いてありました。

  • olタグ・liタグで一部のリストを横並びにした

    olタグ・liタグで一部のリストを横並びにしたい場合 olタグに display: inline; list-style-type: none; としても意味がないのでしょうか? <style type="text/css"> ol.test1{ display: inline; list-style-type: none; }</style> <ol class="test1"> <li><a href="#">階層1</a></li> <li><a href="#">階層2</a></li> <li><a href="#">階層3</a></li> </ol> としても横にはならずに番号が消えました。 なので li.test2{ display: inline; list-style-type: none; } として <ol> <li class="test2"><a href="#">階層1</a></li> <li class="test2"><a href="#">階層2</a></li> <li class="test2"><a href="#">階層3</a></li> </ol> としたのですが liの数だけスタイルシートを指定しないとダメなのでしょうか? <ol> <li class="test2"><a href="#">階層1</a></li> <li><a href="#">階層2</a></li> <li><a href="#">階層3</a></li> </ol> のように一つだけクラスに入れたら そこだけ番号が消えた上 横並びにはなりませんでした。

    • ベストアンサー
    • CSS
  • display blockできません

    初めまして、現在左側の5段メニューボタンを作成中なのですが、 テキストで書いたリンクの文字が出てきたり、 display blockできなかったり、 IEでは5段積みでも、firefoxではつぶれた5段積みで 表示されてしまいます。 私のCSSの書き方がおかしいのでしょうか? どなたかご指導をお願い致します。宜しくお願い致します。 html <div id="left"> <div class="left_style6"> <p><a href="##.htm">aaa</a></p> </div> <div class="left_style7"> <p><a href="##.htm">bbb</a></p> </div> <div class="left_style8"> <p><a href="##.htm">ccc</a></p> </div> <div class="left_style9"> <p><a href="##.htm">ddd</a></p> </div> <div class="left_style10"> <p><a href="##.htm">eee</a></p> </div></div> css .left_style6 { background: url(img/aaa.gif) no-repeat; width : 170px; height : 30px;} .left_style6 p a { margin: 1px 0 0 5px ; display : block; } .left_style7 { background: url(img/bbb.gif) no-repeat; width : 170px; height : 30px;} .left_style7 p a { margin: 1px 0 0 5px ; display : block; } .left_style8 { background: url(img/ccc.gif) no-repeat; width : 170px; height : 30px;} .left_style8 p a { margin: 1px 0 0 5px ; display : block; } .left_style9 { background: url(img/ddd.gif) no-repeat; width : 170px; height : 30px;} .left_style9 p a { margin: 1px 0 0 5px ; display : block; } .left_style10 { background: url(img/eee.gif) no-repeat; width : 170px; height : 30px;} .left_style10 p a { margin: 1px 0 0 5px ; display : block; }

    • ベストアンサー
    • CSS
  • CSSセクレター 子孫のみに適用する方法

    子孫の要素のみに、CSSを適用する方法を教えてください。 下記は適用方法が分からないため、<a>に適用させていますが、 理想としては<a>の中の<div>要素に適用させたいのです。 ※(最後のbox1margin:rgiht:0px;になりそれ意外のブロックが全てmargin:rgiht:10px;になる) よろしくお願いします! <!--HTMLの記述--> <div class="box-wrapper"> <a href=""><div class="box1">ブロック1</div></a> <a href=""><div class="box1">ブロック2</div></a> <a href=""><div class="box1">ブロック3</div></a> </div> /*CSS側の記述*/ .box1{ width:100px; height:20px; background:#C6F; text-align:center; display:inline-block; } .box-wrapper > a{ margin:0 10px 0 0; } .box-wrapper > a:last-child{ margin:0; }

  • ビルダーのCSS「タグの候補」について

    CSSスタイルの設定ダイアログボックス「タグの候補」のリンク項目に(A)と(A:LINK)とありますが、 これはどのような違いがあるのでしょうか?

  • テキストボックスを横並びで表示

    テキストボックスを2つ作り横並びに表示したいのですがどうしても縦ならびに表示されてしまいます。 display:inlineをCSSで入れても変化がありません。 <input style="display: inline;" type="text" name="post_1" value="<?=$_SESSION["post_1"]?>">-<input style="display: inline;" type="text" name="post_2" value="?=$_SESSION["post_2"]?>"> 他に関係する要素はあるのでしょうか?

    • ベストアンサー
    • HTML
  • inlineでテキストの入ったボックスを横に並べる

    いつもお世話になっています。 inlineでテキストが中に入った高さの違うボックスを横に並べる方法に ついてです。float1~6が題名で、あいうえお等がその下に説明文として 並ぶと思ってください。 確認ブラウザ 【OK】Win ie6、ie7、Fx3.5.2、Opera、Mac Safari 【NG】Mac Fx2.0 添付画像のように<dt>と<dd>が横に並んでしまい、<dt>の下に来てくれ ません。<dt><dd>どちらをclearしてもだめでした…。 宜しくお願いします!! <style> div.wrap { width: 600px; background: #EEEEEE; padding: 8px; border: 1px solid #333333; } div.box { display: -moz-inline-box; display: inline-block; /display: inline; /zoom: 1; width: 160px; height: 130px; margin: 8px; border: 2px solid #333333; background: #DDDDDD; vertical-align: top; padding: 8px; } div.height { height: 200px; border: 2px solid #FF9999; background: #FFEEEE; } dd{ width: 150px; float: left; } dt { float: left; clear: left; } </style> <html> <body> <div class="wrap"> <div class="box"> <dt>float 1</dt> <dd>ああああああああああああああああああああああああああああああああああああ</dd> </div><!-- --><div class="box height"> <dt>float 2</dt> <dd>いいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい</dd></div><!-- --><div class="box"> <dt>float 3</dt> <dd>うううううううううううううううううううううううううううううううううううう</dd> </div><!-- --><div class="box"> <dt>float 4</dt> <dd>ええええええええええええええええええええええええええええええええええええ</dd></div><!-- --><div class="box"> <dt>float 5</dt> <dd>おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお</dd> </div><!-- --><div class="box"> <dt>float 6</dt> <dd>かかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかかか</dd></div> </div> </body> </html>

    • ベストアンサー
    • HTML
  • リンク文字変化のタグについて

    リンクを文字にマウスをあてた時のリンク文字変化のタグについて教えてください。 色々な文字変化があると思いますが上下にプルっと動くタイプのタグを探しています。 ↓これは[head]~[/head]の間に注入するタグのようなのですが <STYLE type="text/css"> <!-- A:HOVER{ position : relative; top:3px; left:3px;} A{text-decoration : none; } --> </STYLE> このように[head]~[/head]の間に挿入するタイプのものではなく 個別で指定するにはどのように記述すればいいでしょうか? ↓例えばコレは[head]~[/head]に入れて下線を消すタグですが <style type="text/css"> A{text-decoration:none;} </style> ↓こっちは個別に消す下線を消すタグです <a href="ページのアドレス" style="text-decoration:none"> リンクする文字</a> このようなに先ほどのタグの場合に個別に記述するやり方を教えてください。ヨロシクお願い致します。

  • タグに関する質問(文字に影をつける)

    リンク付きの文字に影をつけたのですが、文字の抜けている部分が押せなくなってしまいました。 えっと、かなりわかりづらいですよね; 例えば「十」という文字を □□■□□ □□■□□ ■■■■■ □□■□□ □□■□□ と現すと、通常なら□の部分も■の部分も押せますよね? でも影をつけると□の部分は押せなくなってしまうんです; 解決策はあるでしょうか? タグは <P style="WIDTH:100%;FILTER:Shadow(color=#335588,direction=120)"> <A href="a.htm">りんく</A> </P> といった感じです。 それと、同じ質問に入れるか迷ったのですがテーブルの外枠だけを半透明にする方法もあったらお願いします;

    • ベストアンサー
    • HTML

専門家に質問してみよう