質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1394閲覧

基本的な事ですみません。

marshmallow

総合スコア33

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2016/02/14 16:12

HTML,CSS初心者です。
自分のブログを改造しているのですが、
http://ameblo.jp/cotton-candy-sky/
のブログなんですが、
サイドの葉っぱの部分がどうしても前にきています。
.skinContentsAreaの後ろに
(つまりメインの部分の後ろに持っていきたいのです。)
CSSで
.skinContentsArea
にz-index:0;で指定していても
前に出てきてしまいます。

設定の仕方を教えて下さい!

お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ブログのソースを見たところ下記のようになっています。

html

1<div class="skinContentsArea"> 2 <!-- 中略 --> 3 <div class="freespaceArea subModule"> 4 <div class="leaf_l"></div> 5 <div class="leaf_r"></div> 6 </div> 7</div>

css

1.skinContentsArea { 2 position: relative; 3 z-index: 0; 4} 5.leaf_l { 6 position: absolute; 7 z-index: 0; 8} 9.leaf_r { 10 position: absolute; 11 z-index: 0; 12}

z-indexを使用するにはpositionstatic以外に指定してあげる必要があります。これがミソです。
positionスタック文脈というものを形成します。これはPhotoshopやillustratorのレイヤーみたいなもので、スタック文脈が形成されたコンテナ内の要素はこのレイヤーごと動くイメージようなイメージで捉えると分かりやすいかと思います。

このブログの例ですと下記のような感じになります。

text

1div.skinContentsArea( z-index: 0 ) 2 |-- div.freespaceArea subModule 3 |-- div.leaf_l( z-index: 0の-1 ) 4 |-- div.leaf_r( z-index: 0の-1 )

div.leaf_l、div.leaf_rはdiv.skinContentsAreaレイヤー内の-1の重なり順という解釈になるので、leaf_l,leaf_rがdiv.skinContentsAreaの下になることはありません。

ブログ記事エリアだけなら記事エリアにz-indexつけて背景色を指定すれば良いのですが、サイドメニューの下にもしなければならないので、このマークアップでは厳しいかなぁと思います。

[参考]
スタック文脈 - Web developer guide | MDN
z-index再入門 1 | CodeGrid

参考までに

私だったらサイドメニュー内にhtmlを置く方法ではなくheaderの要素に対して:before, :afterで装飾をつけます。下にざっくりとしたCSSを書いておきます

css

1/* ヘッダーのタイトル画像が入っているエリア */ 2.skinHeaderArea { 3 position: relative; 4 /* テーマ?にoverflow: hidden;が付いてるので打ち消す */ 5 overflow: initial; 6} 7.skinHeaderArea:before, 8.skinHeaderArea:after { 9 width: 281px; 10 height: 602px; 11 display: block; 12 position: absolute; 13 top: 75px; 14 z-index: 0; 15} 16.skinHeaderArea:before { 17 content: url('http://stat.blogskin.ameba.jp/blogskin_images/20160214/22/cf/Nj/p/o02810602cotton-candy-sky1455457377132.png'); 18 left: -108px; 19} 20.skinHeaderArea:after { 21 content: url('http://stat.blogskin.ameba.jp/blogskin_images/20160214/22/12/bR/p/o02810602cotton-candy-sky1455457366686.png'); 22 right: -108px; 23} 24 25/* コンテンツエリアが上になるようにする */ 26.skinContentsArea { 27 position: relative; 28 z-index: 1; 29}

投稿2016/02/14 17:50

KiKiKi_KiKi

総合スコア596

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marshmallow

2016/02/15 08:22

とても丁寧にありがとうございます。 下さったコードで無事設置できました! 色々教えて下さり大変感謝しています。 またお世話になるかもしれませんが、よろしくお願いします。 少しcssが好きになってきました!
guest

0

ベストアンサー

z-index は同じスタックコンテキスト上にある要素同士の重なり順を変更するものです。
ここでは .leaf_l.skinContentsArea 子要素となっているため z-index では調整できません。代わりにこれを .skinContentsArea の外に出すことで変更できるはずです。

スタックコンテキストについては下のページが詳しくてわかりやすいと思います。

参考:
要素の重なりについて本気出して考えてみた(z-indexとか何とかとか) – No.1026

投稿2016/02/14 16:32

chitoku

総合スコア1610

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

marshmallow

2016/02/14 16:35

ありがとうございます!とてもわかりやすい解説で解決することができました! またお世話になるかもしれませんがよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問