p要素にclassとspanでclass適応違は?

このQ&Aのポイント
  • CSSでP要素の中にclassを適応する場合とspan要素にclassを適応する場合、同じ結果になります。
  • Webクリエーター能力検定試験初級 FOM出版ではP要素にclassを記述しているため、P要素を使った書き方が良いとされています。
  • p要素やspan要素の中にclassを適応することはSEO的にも問題ありません。
回答を見る
  • ベストアンサー

p要素にclassとspanでclass適応違は?

こんにちは。 宜しくお願いいたします。 CSSで以下のコードを書いているときに、同じ結果になりました。 P要素の中にclass="pink"として書く場合と <span class="pink">としても良いと思うのですが、 P要素を使った書き方のほうが、良いのでしょうか?問題集 Webクリエーター能力検定試験初級 FOM出版にての問題でしたが、こちらでは、 P要素に記述してありました。 SEO的にも良いのでしょうか?? <p><span class="pink">お一人様&nbsp;3,000円</span></p> 違いがおわかりになられるお方がいらっしゃいましたら、宜しくお願いいたします。 失礼致します。 <p class="pink">お一人様&nbsp;3,000円</p> <h2>特選コース</h2> <p>旬の味覚をふんだんに使いました。<br> ボリュームたっぷりのぜいたくなコースです。</p> <p class="pink">お一人様&nbsp;4,500円</p> </body> </html>

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

>Webクリエーター能力検定試験 そもそも、私はこの名称にも反対だし、 内容についても反対だ。クリエーターですよ、アーチステックな活動を指す言葉です。 それが、他の人から階級がつけられる。いわば芸術にたいして、その能力に段階をつけるなんて 社会主義国家 そのものの考えだ。例えばイラストレーターにそんなありましたっけ? 私の会社では、その資格無視しています。 本題です。 ちゃんと基礎を学びましょう。SPANはインラインオブジェクトです。Pはブロック要素です。同じスタイルを指定する場合は、注意が必要です。基本は、スタイルは最小範囲で指定する事。 スタイルにも、いくつかの種類がありますね。ポジション(レイアウト)、フォント、行、など他にもありますが、まとめて上位(ツリー構造の)からかける場合と、特定の範囲に限定する場合と。 この違いわかりますか。提示したような文だと、確かにSPANは余計です。それは条件があり、フォントや色、バックグランドが、そのブロックで同じであれば、PにClassを設定すればいいが、そうでない場合、 例えば、例では、Bodyのスタイルが設定されていません。通常設定されていて、全体では10pt blackなどと指定されています。「お一人様」と言うのは注意書きによくにていて、このページで、最も関心がエンドユーザー(客)にはあります。 この場合ボールドにしたり、色を変えるのが通常です。 将来的に、この文字を強調するような事が、必ずでてくると、業務でやる場合、考えておく必要があります。 なので、状況によっては、どっちでもいいのです。これはまさにクリエーターの仕事でもありますが、たいていサイト管理や、ディレクターが決めています。 <ここが肝心> さらに言えば、スタイルからすると同じでも、DOM的にはぜんぜんちがいます。 例えばClassで price なんて作ってSPANに設定した場合、 getElementsByClassName() とか getElementsByTagName().style... などと内容を動的に変えるには、意味がないタグが結構重宝します。DIVとかその類のタグです。 これは、いわゆる「Webクリエーター」の範疇ではないが、CGIなどを使う場合特に重要です。つまり、これらを理解していない クソのクリエーター は、うちでは雇いません。サーバーサイドスクリプト+クライアントサイドスクリプトを全体的に勉強してください。 デザイナーに成るのか、Web開発者(アプリ開発者)になるのか、道は違いますが、どちらの領域も現在必要です。 特に、業界が成熟してきて、分業になればなるほど、両方を理解すると、顧客や、スポンサーからは重宝されます。これはよく、野球のピッチャーとバッターの関係に似ています。

ycqxs765
質問者

お礼

0909union 様 詳しく書いてくださいまして、ありがとうございました。 >Webクリエーター能力検定試験 スクールに通っておりますが、スクールお薦めのようです。たしかにイラストレーターにはありませんね。資格の乱立の弊害でしょうか、、、。しかしながら試験は受けます。 >この場合ボールドにしたり、色を変えるのが通常です。 >将来的に、この文字を強調するような事が、必ずでてくると、業務でやる場合、考えておく必要があります。 おっしゃるとおりです。なにか入ることを考えていても良いですし、後々考えても良いのですね。 >は、うちでは雇いません。サーバーサイドスクリプト+クライアントサイドスクリプトを全体的に勉強してください。 >デザイナーに成るのか、Web開発者(アプリ開発者)になるのか、道は違いますが、どちらの領域も現在必要です。 はい、勉強致します。 まだまだ、そのようなところまでは時間がかかります。HTML+CSSの途中でした。 現在は分業が進んでいて、もっともっと専門化されるのでしょうね。 サーバーサイド今のうちに、勉強しておきます。 ありがとうございました。 失礼致します。

その他の回答 (1)

  • outbrave
  • ベストアンサー率60% (231/380)
回答No.1

<p><span class="pink">お一人様&nbsp;3,000円</span></p> 必要がないタグ span が入っているということでしょう。

ycqxs765
質問者

お礼

outbrave 様 たしかに必要ありませんね。 ありがとうございました。 失礼致します。

関連するQ&A

  • CSS:span 改行させるには?

    こんにちは。 以下のようなHTMLがあります。 HTMLは自動生成のため編集不可なのですが、スタイルシートのみ編集可能です。 <span class="price">4,500円&nbsp; </span><span class="price2">税込、送料別</span> 現在はそれぞれ、スタイルシートに フォントカラーサイズ程度が与えられているだけなので 4,500円 税込、送料別 と表示されています。 これを価格のあとで改行させて 4,500円 税込、送料別 と表示にさせることはできないでしょうか。 よろしくお願いいたします。

  • 空要素タグ??

    ブログのSEO対策の為に以下のページに自分のページURLを入れ タグが上手く書けているかをチェックしました ​http://openlab.ring.gr.jp/k16/htmllint/htmllinte.html​ すると、その中の回答に 空要素タグ の要素には空白さえも含めることはできません。 という問題点を指摘されました これの意味は XMLの Content of Elements(J)では、空要素タグは、<tag></tag> のように開始タグと終了タグをくっつけて書かなければならないとされてます。つまり、空白も含めることはできません。 という事です そして対象となる部分は以下のタグのどこかにあるようなのですが まったく検討がつきません どこがエラーの対象なのでしょうか? ちなみにブログはMTですのでカスタマイズは問題ありません よろしくお願いします <h2 class="archive-header"><$MTBlogName encode_html="1"$>項目一覧</h2> <div class="entry" id="entry-999"> <MTCategories> <h3 class="entry-header"><a href="<$MTCategoryArchiveLink$>"> <$MTCategoryLabel cutfirstchar="4"$></a></h3> <$MTCategoryDescription$> <div class="entry-content"> <div class="entry-body"> <MTEntries lastn="999"> <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>&nbsp;|&nbsp; </MTEntries> </div> <p class="entry-footer"></p> </div> </MTCategories> </div> <p><br /></p> <div class="gotop"><a href="#TOP">このページのトップへ&uarr;</a></div> </div> </div>

  • 子要素の取得

    <h2 class="highlight"> <span>あああああああ</span> </h2> 今、上記のようなhtmlに対してjaascriptで指定をしているのですが、クラスhighlightの子要素であるspanへの適用について悩んでいます。 getElementByClassの代わりのようなものはできているのですが、ある程度柔軟なスクリプトにしたいと思っていて、childNodesは改行も含めてしまうようなのでちょっと都合が悪い部分が出ています。 確実に子要素を選択するようにするにはどうしたらよいでしょうか? 一応 <h2><a href="#">あああああ</a></h2> という感じに改行なし、子要素はspan以外の要素がくることも想定しています。

  • html5のnavに2つのspan要素を入れるには

    html5のnavに2つのspan要素を入れる場合にはどうしたら良いのか教えてください。 Webサイトを作成していて下記のようなレイアウトにしたいと思っています。 理想:  ↓nav local-navigation _____________ |   |___目次___|← p table-of-contents-title | 表 |         | | 紙 |        |← span table-of-contents-list |   |        |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ↑span book-cover 現実: _____________ |   |        | | 表 |        | | 紙 |        | |   |        |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _________ |___目次___| |        | |        | |        |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 理想は1つのnav local-navigation内の左側にspan book-coverを配置して、 右側上部にp table-of-contents-title、下部にspan table-of-contents-listを配置するレイアウトにしたいですが分離されて表示されていました。 色々、試行錯誤した結果、現在はnav local-navigationは見えなくなって(どこにいったか分からない)・・・ background-coler:#a8a8a8;にしても見える場所にない・・・ 表紙のspan book-coverも行方不明。 目次のp table-of-contents-title、span table-of-contents-listが見えている状況に悪化してしまいました。 収拾がつかなくなったのでどうしたら良いかご教授頂きたいです。 現在のHTMLとCSSを添付しておきます。よろしくお願いします。 HTML <nav id="local-navigation"> <span class="book-cover"></span> <span class="table-of-contents-list"> <p id="table-of-contents-title">目次</p> <ol> <li id="even">順序リストの項目1</li> <li id="odd">順序リストの項目2</li> <li id="even">順序リストの項目3</li> <li id="odd">順序リストの項目4</li> <li id="even">順序リストの項目5</li> <li id="odd">順序リストの項目6</li> <li id="even">順序リストの項目7</li> <li id="odd">順序リストの項目8</li> <li id="even">順序リストの項目9</li> <li id="odd">順序リストの項目10</li> <li id="even">順序リストの項目11</li> <li id="odd">順序リストの項目12</li> <li id="even">順序リストの項目13</li> <li id="odd">順序リストの項目14</li> <li id="even">順序リストの項目15</li> </ol> </span> </nav> CSS /* ↓ローカルナビゲーション↓ */ #local-navigation { position:relative;left:15%; width:70%; } #book-cover { height: 220px; background-color:a8a8a8; background-image: url("book-cover.png"); background-repeat:no-repeat; border-radius:11px 11px; } /* ↑表紙↑ */ /* ↓目次↓ */ #table-of-contents-title { background-color:#aa0000; font-size: 24px; text-align: center; width: 100%; color:#bbbbbb; } span.table-of-contents-list ol{ width: 100%; } span.table-of-contents-list li{ position:relative;left:-40px; top:-24px; list-style-type: none; } #even { background-color:#a7a7a7; } #odd { background-color:#787878; } #even:hover { background-color:#aa0000; } #odd:hover { background-color:#aa0000; } /* ↑表紙と目次↑ */ /* ↑ローカルナビゲーション↑ */

    • ベストアンサー
    • CSS
  • 商品リストの横並び方について

    商品リストの横並び方についてご教授ください。 アフィリエイトの商品リストを下記の様に設定していますが このリストを横並び3列に変更したいのですが、どのように変更すればよろしいでしょうか? ネット上で画像の横並びの設定方法を見つけて いじって見ましたが、ダメでした。 宜しくお願い致します。 --------------------------------- 記 --------------------------- <h2>○○○でお探しの【&nbsp;<?php echo h($keyword); ?>&nbsp;】検索結果-NO<?php echo h($pageid); ?>-</h2> <div class="texa"> <table summary="<?php echo h($keyword); ?>" width="620" border="0" cellspacing="1"> <tbody> <?php foreach ($hits as $hit) { ?> <tr> <td class="img"><a href="<?php echo h($hit->linkurl); ?>" rel="nofollow"><img alt="<?php echo h($keyword); ?>" border="0" src="<?php echo h($hit->imageurl); ?>" /></a></td> <td class="prodnote"> <p><span>商品名&nbsp;:&nbsp;<a href="<?php echo h($hit->linkurl); ?>" rel="nofollow"><?php echo h($hit->productname); ?></a></span></p> <p><?php echo h($hit->description->short); ?></p> <p><font class="nedan">[参考価格]&nbsp;&nbsp;<?php echo number_format(h($hit->price)); ?>&nbsp;円</font></p> <p>[ショップ名]&nbsp;&nbsp;<?php echo h($hit->merchantname); ?></p> </td> </tr> <?php } ?>

    • 締切済み
    • PHP
  • <img>タグを<span>でくくりたい

    Javascript初心者を脱出したい者です。 <img>タグをgetElementsByTagNameで取得し、 <span class="align_left"><img .... /></span> みたいに囲いたいと考えています。 条件として、<img>タグの親ノードは<p>タグです。 全くノウハウは知りませんが、以下のような考え方で実現できるのでしょうか? <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Insert nextContent</title> <script type="text/javascript"> <!--   window.onload = function() {     var out_span = document.createElement('span');     out_span.setAttribute('class', 'align_left');     var list = document.getElementsByTagName('img');     var img = list[0];     /* この後、       どうやって、out_span を挿入すればよいのか?      */   } //--> </script> </head> <body> <h1> IMGタグに親ノードを追加したい </h1> <p> 文ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー。 <img src="../images/logo.gif" alt="Logo" /> </p> </body> </html> ★ インデントは全角スペースで行っております。 ご教示お願いします。

  • css classとidの使い方

    あの、<p></p>内の文をclassを使ってitalicに、<span>内をidを使ってbold,色は赤にしたいのですが。変わりません。どこを直したら良いでしょうか?よろしくお願いします。 <HTML> <HEAD> <LINK href="global.css" rel="stylesheet" type="text/css"> <TITLE>About Me</TITLE> </HEAD> <BODY> <H1>About Me</H1> <IMG src="MyPic.png" alt="MyPic" height="150" width="100"> <DIV class="profile"> <p>My name is blahblah.<br> I am a <SPAN id="attention">Good</SPAN> Student.<br> </p> </DIV>  </BODY> </html> global.cssの内容 .profile{font-style: italic} #attention { font-weight: bold; font-style: italic; color: red }

    • ベストアンサー
    • HTML
  • CSSでのフォントサイズ指定におけるジレンマ

    以下の例文では、   * {font-size: 10pt;} があるゆえに、赤太字で示された   .ddd {color: #ff0000;font-weight: bold;} のフォントサイズがばらばらになってしまいます。 各所の指定フォントサイズを遵守させ、かつ赤太字を有効化するにはどのようにればよいでしょうか。   * {font-size: 10pt;}は事情あってやめられません。 「.ddd」に、font-size: middleを入れたりしてもだめでした。 !importantとか、何か簡単な「おまじない」の追記で解決できるといいのですが。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <style type="text/css"> <!-- * { font-size: 10pt; } dd { font-size: x-small; } dt { margin-left: 30px; } .eee { border: 1px solid #000; font-size: small; } .ccc { font-size: xx-large; } .aaa { font-size: medium; } .bbb { font-size: small; } .ddd { color: #ff0000; font-weight: bold; } --> </style> </head> <body> <h2>&nbsp;&nbsp;<a href="./a.htm" style="font-size: large;">2014年の<span class="ddd">雪</span>景色</a></h2> <a href="./index.php" class="eee"><span class="ddd">雪</span>下くんの感想</a> &nbsp;&nbsp;1月には何度も降雪、周りは<span class="ddd">雪</span>、<span class="ddd">雪</span>、<span class="ddd">雪</span>… <dl> <dt class="Tab"><span class="ccc">首都圏では不慣れな<span class="ddd">雪</span>かきなどに追われた</span></dt> <dt><span class="aaa"><span class="ddd">雪</span>下大介</span>&nbsp;&nbsp;<span class="bbb">大阪府立降<span class="ddd">雪</span>下小学校3年</span></dt> <dd>大阪ではひさしぶりに<span class="ddd">雪</span>が降りました。この時期での降<span class="ddd">雪</span>は珍しい。</dd> </dl> </body> </html>

    • ベストアンサー
    • CSS
  • h1~h6要素の背景色が範囲外までなってしまう

    見出しの要素の背景色を「#ddffdd」にしたところ、<h3>~</h3>の部分だけでなく<p>~</p>の部分まで背景色が適用されてしまいました。 背景色は、見出し要素(h1~h6)にしか指定していないのですがなぜでしょうか? 回答よろしくお願いします。 ソースは一部省略していますが、次の通りです。 ■HTML <div class="kukaku4"> <h3>■説明</h3> <p>文章1<br />文章2<em>重要</em>。</p> </div> ■CSS h2, h3 { color: blue; background-color: #ddffdd; }

    • ベストアンサー
    • HTML
  • HTML5メールフォームの作り方

    お世話になります。HTML5のテンプレートを使用してメールフォームを作成しようとしておりますが、なかなかうまくいきません。action=""にメールアドレスを入れてみましたが、できませんでした。どなたかお分かりの方いらっしゃいましたら、どうかよろしくお願い致します。 <form id="contact" action="contact.html" method="post"> <div class="form_settings"> <p><span>Name</span><input class="contact" type="text" name="your_name" value="" /></p> <p><span>Email Address</span><input class="contact" type="text" name="your_email" value="" /></p> <p><span>Message</span><textarea class="contact textarea" rows="5" cols="50" name="your_message"></textarea></p> <p style="padding-top: 15px"><span>&nbsp;</span><input class="submit" type="submit" name="contact_submitted" value="send" /></p> </div> </form>

    • ベストアンサー
    • HTML