• 締切済み

文字と文字の間をそんなに開けたくない。

【css】 p.title{ font-size:1000%; text-align:center; } 【HTML】 <p class="title">test</p> としたときに、 testという文字の下がすごくあいてしまいます。 こんなに空白を表示させたくないため、 display:inline; を付け加えたのですが、 そうするとなぜか text-align:center; が適用されなくなります。 text-align:center; を適用しつつ、</p>の後にこんなに改行させないためにはどうすればよろしいでしょうか?

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

みんなの回答

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

 <p class="title">????タイトルなら<h1>~<h6>じゃないのですか??というよりそうすべきです。 <h1>タイトル</h1> に対して、 h1{font-size:10em;margin:0;} で良いです。  CSS(カスケーディング スタイル シート)はカスケーディングの仕組みが極めて有用だから利用されるのですから、カスケーディングを活用できなければ意味無いです。 1) まずHTMLで文書構造だけを詳しくマークアップします。   文書を構成する要素(Element)に分解して、ひとつひとつをタグでマークアップする。   タイトル--見出しは<h1>~<h6>を段落なら<p>と・・・   用意された要素では文書構造が示しきれない時にidやclassを併用する。(あくまで文書構造を補完するため)   それで著者にも機械にも検索エンジンにもその文書のタイトルがどれか、どこからどこまでが段落かがわかる。 display:inlineは、その要素を行内要素に変更します。 ※ブロックレベル要素と行内要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.3 )は極めて重要な概念です。理解しておきましょう。 p.title{}とは、class属性の値リストに"title"というテキストを含むp要素と言う意味 display:inlineとは、その要素を行内要素にするということ。言い換えると <div>  <p class="title">タイトル</p>  <p>あいうえお</p> </div>  ↓ <div>  <span>タイトル</span>  <p>あいうえお</p> </div> とせよということ。次にp要素がくるのでspanは匿名ブロックに囲まれる。---あまりよくない。 >こんなに空白を表示させたくないため、display:inline;を付け加えたのですが、  必ずしも行間は開きません。匿名ブロックが作られるためブラウザによったら間隔は飽いたままになる。  また、当然、行内要素にはtext-align:centerなんてないです。幅自体が内容の大きさに依存するからです。  インラインレベル要素とインラインボックス( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/visuren.html#inline-boxes ) ※空白ではなくマージンと言います。前後にマージンを取りたくないということ  これは、HTMLが元々欧文を想定しているために日本語を使用する場合、 ・行間が詰まってみえること ・段落の変わり目がマージンではなくインデントのほうが良い  などの理由から、私は次のようにタイプセレクタで指定しています。 p{line-height:1.6em;margin:0;text-indent:1em;} 見出しに関しては、本文中の<h2>~<h6>に関しては子孫セレクタを使って div.section h2,div.section h3,div.section h4,div.section h5,div.section h6{margin:0;line-height:1.6em;} とか・・  その上で、ページタイトルなどは HTML5では、各要素の目的が強く厳密性が求められます。見出しは必ず<h1>~</h1>というふうに。以前のHTMLでは、文書構造を示す要素がないためにDIVやSPANにid,classを併用して文書構造を示してきましたね。<div class="section">ここから本文</div>  『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加する( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )』  HTML5は、(文書構造を示す要素が追加されたため)まず最適な要素を探してそれを使用する。それがないときの最後の最後の手段としてDIVを使う。 >text-align:center; を適用しつつ、</p>の後にこんなに改行させないためにはどうすればよろしいでしょうか?  タイトルですから <h2>タイトル</h2> として h2{ margin:0;line-height:1.6em;text-align:center; background-color:navy;color:white; }  これで、見出し(h2)は、上下左右の中央に配置され、紺色地に白文字で表示されるはずです。

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

こんにちは。 文字と文字の間というより、行間ではないでしょうか? おそらくpのmarginが影響していると思いますので、titleクラスに margin-bottom:0px: など加えてみては。 ちなみにブラウザにはデフォルトのスタイルがあります。 ですので、そういったデフォルト効果をリセットするためのCSSを最初に読み込むということがよくあります。 今回の場合もデフォルトのスタイルが影響していると思います。 F12を押すとデベロッパーツールが表示されると思いますので、どういうスタイルがあたっているか確認できますので、使い方を覚えられるとよいでしょう。

関連するQ&A

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

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

    • ベストアンサー
    • HTML
  • リンクを横に並べるには、どうすればいいですか?

    リンクを下記のように並べたいのですが、CSSにはなんと記述すればいいでしょうか?    リンク1(中央揃え)   リンク2(右揃え) なぜか、下記のようになってしまいます。 リンク1(中央揃えにしたいのに、左揃え状態)                                リンク2(右揃えになっているけど、改行されてしまう) margineかpaddingで設定するしかないでしょうか? 文章が見づらくて、すいません。私が記述したHTML・CSSのソースを下記に載せます。 よろしくお願いします。 /*---------- CSS部分(外部スタイルシートに記述) ----------*/ div#inline { display: inline; } div#center { text-align: center; } div#right { text-align: right: } /*---------- HTML部分 ----------*/ <div id="inline"> <div id="center"><a href="~○○">リンク1</a></div> <div id="right"><a href="~○○">リンク2</a></div> </div>

    • ベストアンサー
    • CSS
  • CSS:文字の上下の中央揃え

    h3要素、クラス属性「midasi」の高さが30pxで、その上下の中央揃えをしたいのですが、「vertical-align: middle;」を指定しても変化がありません。 どのプロパティを指定すればよいでしょうか? 回答よろしくお願いします。 ■HTML <link rel="stylesheet" href="../rensyuu_CSS/rensyuu_CSS.css" type="text/css" /> </head> <body> <div class="kukaku_zen"> <div class="kukaku1"> <h3 class="midasi">見出し1</h3> <p class="bun"> 文章1 </p> </div> <div class="kukaku2"> <h3 class="midasi">見出し2</h3> <p class="bun"> 文章2 </p> </div> </div> </body> </html> ■CSS h3.midasi {height: 30px; vertical-align: middle; text-align: left; font-family: "MS ゴシック"; background-color: #88ceff;}

    • ベストアンサー
    • HTML
  • 文字の右揃えと左そろえ

    こんばんは。質問させていただきます。 一行に ○○○○○○           △△■■ といったように 文字を右寄せと左寄せを行いたいのですが 試してみたところ △△■■の部分が改行されてしまいます。 どのようにしたら改善されますでしょうか? css .header-font { font-size:small } .header-align { text-align:right;} #header{ background:yellow; background-image:http://www.livedoor.com/r/h_logo; width: 900px; height: 100px; } html <div id="header"> <p class="header-font">2009年07月16日(木) 何の日?:駅弁記念日 有名人の誕生日:福田康夫 <div class="header-align">カテゴリ一覧 ツールバー ホームに設定</div></p> </div> ご指南の方よろしくお願いします。

  • リスト内での画像の下部揃え

    下記のように、上部テキスト下部画像の組み合わせで、横並びでリストを作りました。 テキストの量に合わせて、画像が上下するので、見栄えが悪いです。それをテキストは そのままの位置で、画像は下部でそろえたいと思います。それが不可能な場合 せめてすべて下部で合わせたいです。 display: inline-block; vertical-align: bottom; を記入しましたが、全く効果ありません。 どうすればよろしいのでしょうか? HTML <body id="news" class="s"> <div > <ul class="u1" > <li><span class="time">テキスト</span> <div class="news_img"> <img src="hoge.jpg"> </li> </ul> </div> </body> CSS #news.s ul { padding: 10px; width: 100%; } #news.s li { float: left; width: 170px; height: 240px; padding:0 10px 8px 0; font-size: 12px; list-style: none; display:block; vertical-align: bottom; } #news.s li img { display: inline-block; vertical-align: bottom; border: solid 1px silver; width: 140px; height: 140px; max-width: 140px; max-height: 140px; } .news_img { display: table-cell; height: 160px; text-align: center; width: 160px; margin-top: 10px; } div.news_img div { /* IE 7 */ display: inline; zoom: 1; }

    • ベストアンサー
    • CSS
  • (CSS)画像が完全に右端に寄りません・・・

    CSS勉強中でソースの不備が多々あると思いますがどうかみていただけますでしょうか・・。 <div class="bar">の画像の一番端の右下に<p class="px">の画像を隙間無く持ってきたいのですがどうしても<p class="px">の右側が空いてしまいます・・。対処方法がございますでしょうか。 根本からソースが違うかもしれません・・何卒お願いいたします! .pattern_box { width:708px; padding:0px 26px; text-align:right; } .pattern_box .bar { width:708px; margin:0px; } .pattern_box .px { float: right; display: inline; margin: 0px 0px 10px auto; text-align:right; } .pattern_box .inner { margin:10px 0px 0px 0px; text-align:left; font-size:12px; line-height:18px; } ★HTML <div class="pattern_box"> <div class="bar"> <img src="h2_bar01.gif" alt="" width="708" height="20"> </div> <p class="px"><img width="145" height="62" src="h2_bar01_ill.gif"></p> <div class="inner">テキストテキストテキスト</div> </div><!--pattern_box-->

    • ベストアンサー
    • CSS
  • HP作成

    cssを勉強し始めたばかりです。どうぞ教えてください。 画像 画像 テキストと並べたいのですが、 テキストは2行<p>クラスと<strong>です。 <li>要素をつけて、display:inlineでやってみましたが、画像 画像 <p>改行されて<strong>が来ます。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 外部CSS使用で異なる大きさの文字を使いたい

    はじめまして。 素材サイトからDLしたテンプレートなのですが、外部CSSにより文字の大きさが固定されており、個別に大きさを変えたいのですが変更できずに困っています。 CSS初心者で、ソースを見てもいまいちわかりません。 どこを変更すればよいかお教え願えないでしょうか。 変更したいページのソースはこちらになります。 <body id="main"> 更新日<br> <h3>テキスト</h3> <ul class="submenu01"> <li><a href="text.html" target="right">TITLE01</a> </ul> <h3>テキスト2</h3> <ul class="submenu02"> <li>TITLE02 <li><a href="text.html" target="right">1</a> </ul> </body> TITLE01、02の下に小さく説明文を入れたいのですが、文字の大きさを変えることができません。更新日、という文字も小さくしたいのです。 外部CSSのソースはこちらです。 body { height:100%; font-size : 90%; line-height : 180%; color : #666666; text-align : center; background-color :#ffffff ; font-family : Verdana, Chicago, osaka, sans-serif, "MS Pゴシック"; } img { border : 0; } br { letter-spacing : normal; } a { color : #666666; text-decoration : none; } a:hover { color : #000000; } h3 { font-size : 150%; color : #000000; padding: 10px 0 0 0; } /* メイン */ body#main { width : 200px; text-align : left; background-color :#FDDED9; margin: 0 10px 0 20px; } #main ul{ padding: 10px 0 0 0; } /* テキストページ*/ ul.submenu02 li{ display: inline; padding : 0 3px 0 0; } bodyタグのサイズを変更すると全体が変更されてしまうし、いっそ小さくした文字を<h4>のようなものを新しく書き足して囲ってみたのですが反映されません。 どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • 文字色が反映されない

    ホームページ作成でフォントの色を変えるのにcssで .under { color: #FE5936; border-bottom: 2px solid #e5e5e5"; font-weight: bolder; display:inline; } .green { color: #006C36; font-weight: bolder; } .red { color: #FF0000; font-weight: bolder; } .orange { color: #FF8000; font-weight: bolder; } と、設定してHTMLで<span class="○○">AAA</span>として文字の色を変えています。 いくつかHPがあって今までもそのように設定していたのですが、今更新の作業をしていて、更新作業中のサイトだけ<span>の設定が反映されているところと反映されていないところ(されていないところが大半)になってしまっていて困っています。 上記のunderは反映されるのですが、<span class="red">AAA</span>など、under以外反映されず、bodyで設定したcolorになっています。redをunderにすると反映されたりするので、redの設定がまちがってるのかと、cssの部分を打ち直したりしても変わらずです。{}で閉じてあるし、タグも</span>で閉じてあるし、display:inline;は直接関係ないと思うのですが。。。 同じCSSを使っている他のサイトでもこんなことがなかったので、どうしたらいいのか途方にくれています。 fontタグでやればできないことはないけど、cssで解決したいので、何か考えられる原因があれば教えてください。

  • スタイルシートで文字色を指定した時、改行させたくな

    スタイルシートで文字色を指定した時、改行させたくないです。 <html> <head> <title>test</title> <style type="text/css"> p.red { color: red; } </style> </head> <body> a<p class="red">bcd</p> </body> </html> これをすると a bcd になってしまいます。 実際は、 abcd にしたいです。 pタグは改行もされてしまうとのことですが、色を付けつつ改行しない方法はありますか? そもそもフォントに色を付けるだけで改行する機能も付いちゃうのが不思議です。

    • ベストアンサー
    • HTML

専門家に質問してみよう