アプリ版:「スタンプのみでお礼する」機能のリリースについて

ど素人ではてなブログでカスタマイズをしていますが、どうしてもうまくいきません。
大元のデザインはテーマストアから持ってきたものです。
どうか教えてください。


●【質問その1】行間がうまく調整できない

行間を詰めようとして調整しています。一応反映はされました。
しかし、今度は改行すると文字が重なります。
反映されたのを見ると、行の上半分と下半分の間隔が統一されてないのです。

下半分が重なってしまうので、上半分を調整するために line-heightの数値をいじる。
 ↓
下半分は重ならなくなったけど、上半分がすごくひらいてしまう。

この繰り返しです。
line-heightの単位(em、%)もつけたりしてみましたがうまくできませんでした。
下記がコードです。


.entry-content {
font-size: 15px;
line-height:1.5;
color: #000000;
}

margin(?)とかpadding(?)が必要なのでしょうか?



●【質問その2】レイアウトが動かせない

記事部分の幅を広くとりなおかつをもう少し左へ寄せて、
全体の印象を広くもたせようと考えてます。

そこで、まずと「#content-inner」と 「#wrapper」の数値をいじりました。
反映はされました。幅は広くなりました。
今度は左へ寄せようとして「#wrapper」にmarginを付けましたが、
何も反映されませんでした。
下記の通りです。


#content-inner {
 width: 1300px;
}

#wrapper{
 width: 1020px;
 margin:0;
}


また、「#content-inner」の範囲を確認しようと思って、一時的にborderを付けて
確認をしてみましたが、なぜか反映されていませんでした。

なお、「#wrapper」のborderは反映されましたが、なぜか「(※)box2(右メニュー)」部分まで
達していました。
(※ 便宜上、「box2」と表記していますが実際は「#box2-inner」で作っています)

「#content-inner」の範囲には「#wrapper」と「box2」が入っているんじゃないの?
なぜ「#wrapper」の範囲にまで「box2」が入っているの??
素人は…混乱しています。

ほかにもmargin-leftとか letter-spacingとか付けたりしていましたが、
ピクリとも動かず。
何がいけないのか…もう…
お手上げです。



詳しい方、教えてください。宜しくお願いします!

A 回答 (2件)

CSSの基本:



まず、ブラウザごとにマージンやパディングのデフォルト値には違いがありますので、最初にリセットしないとすべてのブラウザに共通したCSSの記述ができません。(ほんとうはブラウザ毎にCSSを切り替えると思いますが書き方によっては同じCSSでも共用できます。)
http://ps60.blog109.fc2.com/blog-entry-31.html

IDとCLASSの使い方を知ってください。

次に、継承について調べてください。ネストになっている親の要素を継承するなどのことです。ここ結構ネックです。

ネストすれば、同じ名前のHTMLタグに別個のCSSを指定できます。
.ul
#wrapper #side .ul
とするとこれらは別物になります。最後に指定したものが有効です。
#wrapper #side .ul
.ul
とすると、まずいです。#wrapper #side .ul の意味はなくなります。

次に、ブロックレベル要素とインライン要素の違いを理解していないとCSSは使いこなせません。
http://mozilla.gr.jp/standards/webtips0015.html
インライン要素をブロック化することもできます。
http://webdesignrecipes.com/css-blocklevel-eleme …

このほかにもいろいろな注意点があります。

いきなりCSSでやろうとしても混乱しますので、TEST用のHTMLとCSSで動きを実験してある程度理解してからやったほうがいいとおもいます。毎日やっていれば2Wくらいでなんとかできるようになります。
(2Wでできればすごいですよ。)

ブラウザごとに若干の違いがあると思いますので各ブラウザで表示のチェックをします。
IEのデベロップメントツールバーというプラグインもあります。
HTMLやCSSの確認ができます。FireFoxにもあります。
    • good
    • 0

詳細度は確認されましたか?クラスセレクタ/属性セレクタは 0 0 1 0 ですよ。

一意セレクタは、0 1 0 0 です。同じ詳細度だったら後出で上書きされます。またline-heightやfont-sizeについは継承されますが、marginf継承されません。まあここいらは常識的--というか期待通りの仕様になっています。
 はてなブログも、そのスタイルシートも酷い物ですね。そのため、私は使っていません。
>詳しい方、教えてください。
 詳しい人は手を出さないテンプレートですので、無理でしょう。
1) HTML+CSSで作成する上で最も重要考え方は、今から15年以上前に勧告されたHTML4.01の『構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』なのですよ。
 すなわち、『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するため( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』であって、デザインのためではない!!!。よって「content-innerとかwrapperのうなidはつけません。
 もちろん、スタイルシートは文書構造に基づきますから、#content-innerのような一意セレクタにすると、詳細度が高くなりすぎて、しかもページ内に一箇所しか存在できないために煩雑になります。

>●【質問その1】行間がうまく調整できない
 行間と言う言葉は表などにおいて行(tr)の間隔とかであって、他に使うと意味が分からなくなります。改行<br>は通常のHTMLには存在しません。段落間でしたらmarginで指定します。paddingも似た効果がありますが意味が異なります。
 この場合は、「行端で自動改行されたときに文字が重なる。」と言う意味でしょう。なら、line-height:1.6em;とかでよいはずです。1.5という数値だけの単位は使わないです。使うとpxと判断されます。
>●【質問その2】レイアウトが動かせない
 後述のサンプル参照
 ブログ出力がちゃんとしたHTML出力してくれていれば、こんなに簡単に指定できるし、デザインのためのdivもないので、メンテナンスもとても楽になる。

 開発されているなら、firefoxを当然使われていると思いますが、そのアドオン Firebug( https://addons.mozilla.org/ja/firefox/addon/fire … )を使うととても判りやすいです。

※ きちんとHTMLやCSSの仕様書を読んで習得していくのが最も早道です。基礎が出来ていないのにつまみ食いをしてもうまくいくわけありません。
 

サンプル(ウェブ標準 HTML4.01+CSS2.1)
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html )
 のDATA入力(右上)で検証済み
★タブは_に置換してあるので戻す。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951&#64;hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0;line-height:1.6em;}
p{text-indent:1em;}
div.header,
div.section,
div.footer{/* 外回りの指定 */
_width:90%;min-width:630px;max-width:1000px;
_margin:0 auto;
_padding:5px;
}
div.section{
_position:relative;/* 以降の位置やサイズの基準 */
}
/* ここからが本文を左に寄せる指定 */
div.section h2,div.section p,div.section div.section{
_margin:0 300px 0 150px;/* ★左右のマージンを指定 */
}
div.section div.section{/* 子供のsectionの指定 */
_width:auto;min-width:0;
}
div.section div p{/* 子供のsection内のpの指定 */
_margin:0;
}
div.section div.nav,div.section div.aside{/* 本文目次(section/nav)、補足記事(section/aside)の指定*/
_position:absolute;top:0;
_font-size:0.9em;
_height:100%;
}
div.section div.nav{
_width:140px;/* 左に表示するnavの幅と位置 */
_left:0;
}
div.section div.aside{/* 右に表示するasideの幅と位置 */
_width:290px;
_right:0;
}
/* わかりやすいように色分け */
body{background-color:gray;}
div.header,div.footer{background-color:aqua;}
div.section{background-color:silver;}
div.section div.section{background-color:white;}
div.section div.nav{background-color:yellow;}
div.section div.aside{background-color:lime;}

/* aqua、black、blue、fuchsia、gray、green、lime、maroon、navy、olive、orange、purple、red、silver、teal、white、yellow */
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>本文はsection、HTML5では&lt;header&gt;&lt;/header&gt;ヘッダ&lt;section&gt;本文&lt;/section&gt;のようになる。</p>
__<div class="section">
___<h3>項見出し</h3>
___<p>本文項記事</p>
___<p>sectionの階層でレベルが判断される。</p>
___<p>記事部分の幅を広くとりなおかつをもう少し左へ寄せて、全体の印象を広くもたせようと考えてます。
</p>
__</div>
__<div class="nav">
___<h3>このページの目次</h3>
__</div>
__<div class="aside">
___<h3>関連記事</h3>
___<p>
____本文と直接関係ない記事
___</p>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2013-03-03</dd>
__</dl>
_</div>
</body>
</html>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!