サイトタイトルの改行方法について

このQ&Aのポイント
  • サイトタイトルを改行させる方法について考えます。タイトルがボックスの幅より長い場合、自動的に改行されてしまう問題が発生します。
  • 改行を行う際には、<br>タグやwhite-spaceプロパティを使用することが考えられます。しかし、これらの方法は望ましくないとされていることがあります。
  • これらの方法を使用すると、サーチエンジンのクローラーがサイトの内容を正しく評価できない可能性があります。そのため、SEOを意識する場合は他の方法を検討した方が良いでしょう。
回答を見る
  • ベストアンサー

見出しを改行させることはしないべきか

<header> <h1>これが私のサイトタイトル</h1> <nav> <ul> <li>りんご</li> <li>ごりら </header> こんなヘッダーを左カラムとして置いていますがサイトタイトルがボックスの幅より長いため自動的に改行されてしまいます そこで<br>またはwhite-space:preで以下の2通りの記述をするのは望ましくないとされていたり、悪いことだたりするのでしょうか? 具体的にはサーチエンジンのクロウラーが検索結果の上位に来させないようにしたり・・・ <h1>これが私の<br>サイトタイトル</h1> または <h1 style="white-space:pre"> これが私の サイトタイトル </h1> ご回答よろしくお願いします

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

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

  • ベストアンサー
  • 4017B
  • ベストアンサー率73% (1304/1775)
回答No.1

何かサイトデザイン的な問題で、見出しが改行されるのが不都合なら、CSS等で調整が必要ですが。長い見出し自体に質問者さん自身が特に何も問題が無いと思っているのなら、変な改行タグ(brなど)を入れないで、そのまま平文のままの方がむしろ良いです。 後、「white-space:pre」は全く持ってオススメ出来ませんね。それで見栄えが良くなったと思ってるのは製作者だけで、実際にサイトを利用する人たちにとっては見難いことこの上ないですから。見出しが露骨に本文と関係ない、いわゆる「釣りタイトル」で無いのなら、サーチエンジンの評価が下がる様な事も無いので、何も弄る必要はありません。 つまり… <h1>これが私のサイトタイトル</h1> ~のままでOK。余計な事はしない方向性で。

satsumaimoboy
質問者

お礼

朝のOKwave民のクオリティ・・・

その他の回答 (2)

回答No.3

デザイン的に改行させたいのなら、brよりもspanの方が良いです。 brは何らかの区切り(文の区切りや、住所の区切りなど)を示します。 <h1><span style="display:block">これが私の</span><span>サイトタイトル</span></h1> <wbr>というのがありますが、日本語ではOperaしか対応していないようです。 (wbrタグを使う為の条件があるのかもしれませんが。今後OperaのレンダリングエンジンがWebkitになるので、wbrが効かなくなる可能性もあります。) <h1>これが私の<wbr>サイトタイトル</h1> ただ、brとwbrの意味関係がよくわかりません。 http://www.w3.org/TR/2012/CR-html5-20121217/text-level-semantics.html#the-wbr-element 例を見ると、私の使い方(英単語の区切り、日本語の言葉/節/詞の区切り、禁則処理)と同じように思えるのですが。。。 適切な位置で改行させた方が、私はかっこいいとおもいますけどね。デザイナーならこれくらいのこだわりがあっても、むしろ当然だと思います。 (添付画像はOKWaveサイトにあった広告バナースクリーンショットを改変しました) ただし、これがSEOに対してどのような影響があるかはわかりません。 SEO会社なら調査されているかもしれませんが、 おそらく同程度のSEOを施したサイトを100個くらい作って、<span>や<wbr>あり、なしで半分ずつにして統計を取るくらいの事をしないと、問題ないか、デザインを諦めるべきか、というのはわからないと思います。 相当な作業になると思いますので、無料で聞くのは無理じゃないでしょうか。 ともあれ情報商材は詐欺も多いようですのでご注意下さい。

satsumaimoboy
質問者

お礼

少し前にベストアンサーを決めてしまいましたが、早く見れていればこちらにしたかったと思います、ご回答ありがとうございました display:blockは<h1>もすでにブロックレベルだったので思いつきませんでした 試してみようと思います ありがとうございました

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

質問のタイトルと、書かれたソースが一致しません。 >見出しを改行させることはしないべきか  とっても難しい日本語です。「見出しは非改行であるべきか?」、改行させないほうが良いのか??と読み取れます。  それでいて、 >以下の2通りの記述をするのは  なのに、 ・サーチエンジンのクロウラーが検索結果の上位に来させないようにしたり・・・ ・<h1>これが私の<br>サイトタイトル</h1> ・<h1 style="white-space:pre">  と三つの案が出されていたり・・ ひょっとして、指定された位置以外で改行させたくない??ということ? HTML5ではBRは 【引用】____________ここから The br element represents a line break. br elements must be used only for line breaks that are actually part of the content, as in poems or addresses.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[4.6 Text-level semantics — HTML5( http://www.w3.org/TR/2012/CR-html5-20121217/text-level-semantics.html#the-br-element )]より  「brは改行を意味し、改行自体がその段落の内容であるときのみ使う」と言う事です。 <h1>これが私の<br>サイトタイトル</h1>  は改行自体が<h1></h1>の内容として意味があるならまったく構いませんが、常に改行されてしまいます。 <h1 style="white-space:pre"> これが私の サイトタイトル </h1>  この場合は、HTML的には一続きの内容です。(半角スペースや改行はHTMLでは空白文字で複数あるときを含め、単語境界としてみなされます。よって、このHTML自体は特に問題はないでしょう。それをスタイルシートで「整形済み」と表現することとはまったく別問題で、スタイルシートは意味的に考えませんから・・ ただ、文書構造上で内容的に異なるのでしたら <heder>  <hgroup>   <h1 style="width3em">山歩き</h1>   <h2 style="width6em">富士山に登る</h2>  </hgroup> ・・・ として、 header h1{float:left;} header hgroup:after{content:"";display:block;clear:left;} とか・・ 結論から言うと、内容が分からないので、どうしたらよいかがアドバイスできない。

satsumaimoboy
質問者

補足

なんなんですかね、こういう気持ち悪い人は・・・ 日本語がわからないならこんなとこで回答しなくていいですよ

関連するQ&A

  • HTML5 | 見出しよりも先にメタ要素

    こんばんは、 現在ブログをHTML5へと作り変えています。お伺いしたいのですが、以下のように見出しよりも先にそのメタ要素を記述する構造は良くないのでしょうか? <article>  <header>   <ul><li>日付</li><li>カテゴリ</li></ul>   <h1>タイトル</h1>  </header>  … </article> 見出しを先に記述した後に、CSSで入れ替えることはもちろんできるのですが。よろしくお願いします。

  • メニューの横並びで改行されてしまう。

    ul li を使用して、横並びのメニューを作成したいのですが、 最後の項目が、横に並びきれなくて、下の段に移ってしまいます。 border幅や、marginも計算してpxで指定しているつもりですが、上手くいきません(TдT) 何故ですかね? HTML <body> <div id="wrapper"> <header> <nav> <ul> <li><a href="#">about</a></li> <li><a href="#">information</a></li> <li><a href="#">party</a></li> <li><a href="#">access</a></li> <li><a href="#">contact</a></li> </ul> </nav> </header> <!-- /wrapper --></div> CSS #wrapper { width: 985px; margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; } nav ul { list-style-type:none; } nav li { float:left; width:190px; border: 1px #ffb366 solid; text-align:center; margin-right:5px; }

    • ベストアンサー
    • CSS
  • cssでリストを横並びのセンタリング

    現在、サイトをHTMLからHTML5に移行中なのですが、リストを横並びにするところまではできたのですが、それをセンタリングするにはどうしたら良いでしょうか? さまざまなサイトを巡ってやり方を拝見したのですが、目的とするものがありませんでした。 現在のHTML <!-- ヘッダ開始 --> <div id="header"> <h1>サイトタイトル</h1> <p class="catch"><strong>サイト説明</strong></p> <div class="opening"> <h2><img src=".jpg" alt="表示されなかった画像の説明的な" width="900" height="260"></h2> </div> <ul class="nl clearFix"> <li class="active"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">6</a></li> <li><a href="#">7</a></li> </ul> <hr class="none"> </div> <!-- ヘッダ終了 --> 現在のcss /* --- ヘッダメニュー --- */ #header ul.nl { width: 100%; /* IE 6のために幅の指定が必要 */ margin: 0 auto; padding: 0; background-color: #ffffff; /* ヘッダメニューの背景色 */ list-style-type: none; text-align: center; } /* メニュー項目 */ #header ul.nl li { width: 124px; /* 項目の幅 */ float: left; line-height: 100%; } /* 最初の項目と最後の項目 */ #header ul.nl li.first, #header ul.nl li.last { width: 125px; /* 項目の幅 */ } わかりにくいと思いますが、上のように配置したいのです。 まだイマイチ理解しきれていないのですが、回答していただければと思います。 ↓HPの現状。 http://dateme.web.fc2.com/top.html

    • ベストアンサー
    • CSS
  • 見出しタグのつけ方について

    見出しタグのつけ方について 見出しタグのつけ方が今一、理解できません。 下記のようなページの場合、適切な見出しタグのつけ方で適切なのはどれでしょうか? それとも、この3つの中には適切なのはないでしょうか? (特に、メニュー項目をどういう位置づけにしたらいいかがわかりません) 初歩的な質問ですが、よろしくお願い致します。 (1)h1・・・サイトの説明文  h2・・・サイト名  h3・・・Welcame,更新情報,関連リンク (2)h1・・・サイトの説明文  h2・・・Welcame,更新情報,関連リンク (3)h1・・・サイトの説明文  h2・・・HOME,ABOUT,WORKS,ACCESS,CONTACT  h3・・・Welcame,更新情報,関連リンク --------------HTML------------------- <body> <div id="header"> <div id="logo_box">サイト名</div> <h1>サイトの説明文 </h1> <ul id="header_navi" class="clearfix"> <li> <a href="#">HOME</a> </li> <li> <a href="#">ABOUT</a> </li> <li> <a href="#">WORKS</a> </li> <li> <a href="#">ACCESS</a> </li> <li> <a href="#">CONTACT</a> </li> </ul> </div> <div id="inner" class="clearfix"> <div id="contents"> <h3>Welcame</h3> <p>TEXT TEXT</p> </div> <div id="right"> <h3>更新情報</h3> <p>TEXT TEXT</p> <h3>関連リンク</h3> <p>TEXT TEXT</p> </div> </div> </body> ----------------------------------------------------

    • ベストアンサー
    • HTML
  • IE6,IE7だとメニューが写真の裏に表示される

    こんばんは。コーディング作業をしており、ヘッダーにドロップメニュー(多階層のメニューバー)を設置し、その下に写真を置いたのですが、メニューをマウスオーバーし、2階層目のカテゴリが出てきた時に、IE6.IE7だと写真の裏に隠れてしまいます。 ※IE8、FF、Macだと写真の前にちゃんと表示されます。 ソースを添付しますので、どこがいけないかご指摘していただけないでしょうか。 よろしくお願いいたします。 [HTMLソース] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="jquery-1.5.2.js"></script> <script type="text/javascript" src="superfish.js"></script> <script type="text/javascript"> jQuery(function(){ jQuery('ul#nav').superfish(); }); </script> </head> <body> <div id="container"> <div id="header" class="clearfix"> <div id="menuBottom" class="clear"> <ul id="nav" class="clearfix"> <li><a href="#"><img src="" alt="" width="88" height="29" /></a> <ul> <li><a href="#aa">menu item that is quite long</a></li> <li class="current"><a href="#ab">menu item</a> <ul> <li><a href="#">menu item</a> <ul> <li><a href="#">short</a> <ul> <li><a href="#">menu item</a></li> <li><a href="#">menu item</a></li> <li><a href="#">menu item</a></li> <li><a href="#">menu item</a></li> <li><a href="#">menu item</a></li> </ul> </li> <li><a href="#">short</a></li> <li><a href="#">short</a></li> <li><a href="#">short</a></li> <li><a href="#">short</a></li> </ul> </li> </ul> </div><!--#menuBottom END--> </div> </div><!--#header END--> <br /><br /><br /><br /> <div id="contents"> <div id="slide" class="fltL"> <div id="slide_body"> <ul> <li style="margin-left:300px;"><img src="" width="622" height="461" alt="" /></li> </ul> </div><!--#slide_body END--> </div> <!--#slide END--> </div><!--#container END--> </body> </html> [上のhtmlに読み込まれているCSS(style.css)] #header { width:950px; margin:0 auto; padding-top:19px; z-index:100; } #menuBottom { float:right; z-index:0; } #container { width:100%; text-align: left; } /*** ドロップメニュのCSS ***/ ul li { margin:0; padding:0; } #nav ul { position:absolute; top:-999em; width:10em; /* left offset of submenus need to match (see below) */ } #nav ul li { width:100%; height:100%; } #nav li:hover { visibility:inherit; /* fixes IE7 'sticky bug' */ } #nav li { float:left; position:relative; } #nav li:hover ul, #nav li.sfHover ul { left:0; top:2.5em; /* match top ul list item height */ z-index:99; _z-index:0; } ul#nav li:hover li ul, ul#nav li.sfHover li ul { top:-999em; } ul#nav li li:hover ul, ul#nav li li.sfHover ul { left:10em; /* match ul width */ top:0; } ul#nav li li:hover li ul, ul#nav li li.sfHover li ul { top:-999em; } ul#nav li li li:hover ul, ul#nav li li li.sfHover ul { left:10em; /* match ul width */ top:0; } /*** DEMO SKIN ***/ #nav { float:left; } #nav ul li a { display:block; position:relative; padding:0.75em 1em; border-left:1px solid #fff; border-top: 1px solid #CFDEFF; text-decoration:none; height: 100%; z-index:15; } #nav a, #nav a:visited { /* visited pseudo selector so IE6 applies text colour*/ color:#13a; } #nav li li{ background:#AABDE6; } /*** 画像部分のCSS ***/ #slide { width:624px; position:relative; } #slide_header { position:absolute; top:0px; left:0px; width:624px; height:7px; z-index:2; background: url(slide_header.png) no-repeat; } #slide_body { background: url(slide_body.gif) repeat-y 0px 0px; width:624px; margin:auto; } #slide_body img { margin:auto; }

  • ulタグやliタグの中でbrタグは使えない?

    完成したサイトなのですが…。 Dreamweaverにて開いて一応チェックすると、 「タグbrはur内では使用できません」との表示がでて驚いています。 <li>~</li>だけで自動的になされる改行だと、詰まって見えるのです。 だから、 <ul style="padding-left: 00px;"> <li>~</li></br> <li>~</li></br> </ul> のようにして処理しております。ただ、これってSEO的にマズい、ということなのでしょうか? どうか、ご存知の方いましたら教えてください。

    • ベストアンサー
    • HTML
  • 【CSS】firefoxで背景が表示されない-ナビゲーション(画像置換リンク)

    「li」に背景画像を指定して、ナビゲーションをつくってみたところ・・・ Firefox、Operaで表示されません。 (IEでは表示されます。) ヘッダー左にロゴ(これはどのブラウザでも表示される)、右側にナビゲーションを配置した作りです。 ハックなど色々調べてみたのですが、解決できず・・・。 力をお貸しいただけないでしょうか。 g_nav.gif・・・グローバルナビゲーション一枚画像550px×30px。(上部:ロールオーバー前、下部:ロールオーバー時) 【HTML】 <!--headerここから--> <div id="header"> <!--logoここから--> <div id="logo"> <h1><a href="aaa.html">logo</a></h1> </div> <!--logoここまで--> <!--naviここから--> <div id="nav"> <ul> <li id="nav01"><a href="aaa.html">あああ</a></li> <li id="nav02"><a href="aaa.html">あああ</a></li> <li id="nav03"><a href="aaa.html">あああ</a></li> <li id="nav04"><a href="aaa.html">あああ</a></li> <li id="nav05"><a href="aaa.html">あああ</a></li> </ul> </div> <!--naviここまで--> </div> <!--headerここまで--> 【CSS】 #header{ width:800px; height:70px; margin:0 auto; padding:0; } #logo { width:216px; height:70px; background-image:url(../cmn_img/logo.gif); float:left; } #nav{ width:550px; height:30px; float:right; margin:40px 0 0 0; padding:0; text-indent:-999em; } #nav ul{ margin:0; padding:0; list-style-type:none; } #nav li{ display:inline; } #nav li#nav01 a,#nav li#nav02 a,#nav li#nav03 a,#nav li#nav04 a,#nav li#nav05 a,{ display:block; background-image:url(../cmn_img/g_nav.gif); overflow:hidden; float:left; } #nav li#nav01 a{width:110px; height:30px; background-position:0 0;} #nav li#nav02 a{width:110px; height:30px;background-position:-110px 0;} #nav li#nav03 a{width:110px; height:30px;background-position:-220px 0;} #nav li#nav04 a{width:110px; height:30px;background-position:-330px 0;} #nav li#nav05 a{width:110px; height:30px;background-position:-440px 0;} #nav li#nav01 a:hover{width:110px; height:30px;background-position:0 -30px;} #nav li#nav02 a:hover{width:110px; height:30px;background-position:-110px -30px;} #nav li#nav03 a:hover{width:110px; height:30px;background-position:-220px -30px;} #nav li#nav04 a:hover{width:110px; height:30px;background-position:-330px -30px;} #nav li#nav05 a:hover{width:110px; height:30px;background-position:-440px -30px;} 【下記ハック使用】 #header:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } #header {display: inline-table;} /* Hides from IE-mac \*/ * html #header {height: 1%;} #header {display: block;} /* End hide from IE-mac */

    • 締切済み
    • CSS
  • fc2ブログのh1タグの表示位置の変更の仕方

    どなたかfc2ブログのh1タグの表示位置の変更の仕方を教えてください。 今、fc2ブログで共有テンプレートの「ナビゲーター4(レスポンシブル対応)」を使って、アフィリエイト用のブログを作っています。それで問題が発生して困っています。へッダー(縦400px横1000px)は自分で作ったものを使ったのですが、このテンプレートはそもそもヘッダーの真ん中の位置にh1タグ(タイトル)が表示される作りになっていて新しいヘッダー画像の文字と重なってしまうので、h1の位置を変更しようといろいろ試みました(HTMLやCSSをいじり、ヘッダーの左端の一番上に変更しようとした)。 しかし、思った場所には変更できませんでした。たぶん、CSSの該当箇所をいじればできるとおもうのですが、どうすればいいかがわかりません。どなたかご指導していただけないでしょうか? ※HTML、CSSの関係個所を書いておきます。情報が足りなければ、後で情報追加します。 〇HTMLの該当部分 <body> <!--ヘッダーここから--> <header id="l-header"> <div id="l-header-inner"> <img id="bgimg" src="http://blog-imgs-110.fc2.com/b/e/n/benpitaisakukyousitu/201708291447134cf.png" alt="橋" width="100%" height="100%" /> <div class="l-header-inner2"> <h1 class="blog_name"><a href="<%url>"><%blog_name></a></h1> <h2 class="blog_introduction"><%introduction></h2> </div> <nav class="menu"> <nav class="menu-inner"> <ul> <!--category--> <li><a href="<%category_link>" title="<%category_name>"><strong><%category_name></strong></a></li> <!--/category--> </ul> </nav> </nav> </div> 〇CSSの該当部分 responsive PC設定  2カラム @media screen and (min-width:960px) { #l-header { position: relative; width:100%; } #l-header-inner { width: 100%; margin: -10px 0px 0; min-height:50px; padding: 0; overflow: hidden; background-color:; } .l-header-inner2 { position: absolute; width: 100%; top: 20%; left:0; } .all-box { width:960px; margin: 0 auto; } .blog_name { width:95%; margin-top: 20px; padding: 0px 0 0px 15px; font-size: 30px; line-height: 1.7em; color: white; text-align: center; background-color: ; } .blog_name a { color: white; } .blog_introduction { width:95%; margin-top: 0px; padding: 0px 0 10px 20px; font-size: 16px; color: white; text-align: center; background-color: ; }

    • ベストアンサー
    • CSS
  • html上で改行するとスペースが空く現象

    <p> あああ いいい </p> とhtmlに書くとブラウザでは『あああ(半角スペース)いいい』となります。 改行を入れなければ問題ないのですがあまりにもテキストが長い場合など可読性を 考慮すると改行を入れたくなります。 bodyにwhite-space: nowrap;を指定すると<br />も無視されてしまうので困っているのですが 半角スペースをなくするにはどのように対処すればいいでしょうか?

    • ベストアンサー
    • HTML
  • 一行ごと囲む正規表現につてい

    preタグないで囲ったものを php で一行ごとにliタグを挿入しようと考えています。 元ソース <pre> p {margin: 0;} ul {margin: 0;} ol {margin: 0;} </pre> を <code> <pre> <ol> <li>p {margin: 0;}</li> <li>ul {margin: 0;}</li> <li>ol {margin: 0;}</li> </ol> </pre> </code> の様に置き換える方法を探しています。 $content = preg_replace( '/(<pre>)(.*?)(<\\/pre>)/mis',"<code>$1\n<ol><li>\n$2\n</li></ol>\n$3\n</code>", $content ); で <code> <pre> <ol><li> p {margin: 0;} ul {margin: 0;} ol {margin: 0;} </li></ol> </pre> </code> までは出来ました。 改行ごとに</li><li>を挿入できればうまく行くと思うのですが、改行の正規表現が分かりません。 ( '/(<pre>)(.*?)(\n?)(<\\/pre>) など色々とやってみたのですがダメでした。 もしよろしかったら教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう