concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 1:44

初級的な問題で大変申し訳有りませんが、現在製作しているページでレイアウトのbackground-color:#E0FFFF;が反映されないのですが、何が原因なのでしょうか?
ご教授お願い致します。
<div id="navi">を削除するとレイアウトのbackground-color:#E0FFFF;反映されるのですが、何かPHPの記述の問題なのかcssの記述がおかしいのか、これが現状では精一杯なので、どうかご指導宜しくお願い致します。
ちなみに<div id="navi">を</div>でマークアップすると、レイアウbackground-color:#E0FFFF;は反映されますが、レイアウトがおかしくなります。

※環境
xampp 1.7.3
Firefox 3.6.12
-------------------------------full.php-----------------------------------
<?php
defined('C5_EXECUTE') or die(_("Access Denied.")); ?>
<?php $this->inc('elements/header_full.php'); ?>

<div id="container">
<div id="header">
<img src="<?php echo $this->getThemePath()?>/images/☆☆☆.png" alt="Logo"/>
<p>☆☆☆☆</p>
<div id="logininrighttop">
<?php
$loginReDirectURL = View::getViewPath();
$loginReDirectURLent = urlencode($loginReDirectURL);
$u = new User();
if ($u->isRegistered()) { ?>
<p class="logininrighttop"><?php echo t('Currently logged in as <b>%s</b>.', $u->getUserName())?> <a href="<?php echo $this->url('/login', 'logout')?>"><?php echo t('Sign Out')?></a> | <a href="<?php echo DIR_REL?>/profile/">プロフィール</a></p>
<?php } else { ?>
<p class="logininrighttop"><a href="<?php echo $this->url('/login')?>?rcID=<?php echo $loginReDirectURLent ?>%2F">ログイン</a> | <a href="<?php echo DIR_REL?>/register/?rcID=<?php echo $loginReDirectURLent?>%2F">新規登録</a></p>
<?php } ?>
</div>
</div>
<div id="navi">
<?php
$ah = new Area('navi');
$ah->display($c);
?>
<div id="content">
<?php
$a = new Area('Main');
$a->display($c);
?>
</div>
<div id="footer">
<?php $this->inc('elements/footer.php'); ?>
</div>

-------------------------------full.css-----------------------------------

/* ==================== レイアウト ==================== */

a {color: #017acd}

#container {
width: 935px;
margin-right: auto;
margin-left: auto;
background-color:#E0FFFF;
}

/* ==================== ログイン ==================== */

#logininrighttop {
font-size:11px;
float:right;
margin-right:5px;
margin-bottom:0px;
}

/* ==================== ヘッダー ==================== */


#header {
background-image: url(images/***.png);
padding: 30px 20px 18px
}

#header h1 {
margin: 0
}

#header p {
color: #ffffff;
font-size: 1em;
margin: 0
}

/* ==================== ナビ ==================== */

#navi {
width: 935px;
float: left;
margin-top: 5px;
margin-right: auto;
margin-left: auto;
margin-bottom:5px;
}

/* ==================== コンテンツ ==================== */
#content {
width: 700px;
margin-top: 5px;
margin-right: auto;
margin-left: auto;
margin-bottom:5px;
background-color:#ffffff;
border:solid 1px #ADD8E6;
}

#content p {
font-size:12px;
line-height:15px;
padding:5px;
margin-top:2px;
margin-bottom:2px;
white-space: normal;
}

/* ==================== フッター ==================== */
#footer {
background-image:url(images/*****.png);
background-repeat:repeat-x;
width:935px;
margin-top:0;
padding-top:12px;
clear:both;
}

address {
font-size: 0.75em;
font-style: normal;
text-align: center
}

Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 2:05
514design ことコイシです。

問題はですね、多分正確なマークアップがされていないことに問題があるのではと思います。

もう一度、HTMLの構造をよく見直してみてください。

例えばfooterの部分はfooter.phpの中身がどの様になっているのかわかりませんが
footer.phpをdivでかこっているわけですよね。これだと本来HTMLの最後は</html>で終わるべきところが<div>で終わってしまっているはずです。

HTMLの構造を理解しテンプレートのカスタマイズももう一度ご確認ください。
たぶんそこを解決すれば問題も解決されると思いますよ。

http://concrete5-japan.org/help/design/
 

Re: Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 2:17
514designさん
ご返答ありがとうございます。
今一度整理して見直してみます。
また報告いたします。
 

Re: Re: Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 21:41
footer.phpのアドバイス有難うございます。
ここは確かにおかしかったですね。
footer.php内部では</html>で終了させているので、full.phpでは</div>で終わらせるのは変でした。
後は色々と試行錯誤致しましたが、取合えず!
</div>
</div>
<div id="navi">
<?php
$ah = new Area('navi');
$ah->display($c);
?>
<div id="content">
<?php
$a = new Area('Main');
$a->display($c);
?>
</div>
</div>
<?php $this->inc('elements/footer.php'); ?>
とする事で<div id="container">で指定している背景色は反映されました。
しかし、<div id="content">ボックス内と同じく、 <div id="navi">の背景色を真っ白にしたいので、cssで指定すると<div id="navi">の背景色以外まで白くなってしまいます。
これはやはり、マークアップの問題ですか?
 

Re: Re: Re: Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 21:58
514designことコイシです。

そうですね。マークアップの問題だと思います。
全て見ているわけではないので何とも言えませんが
基本的にはCSSが反映されないときはやはりdivなどの閉じ忘れが
ほとんどだと思います。

ブラウザなのですがchromeなどで要素を調べてみたりすると
どこが悪いのかわかりますよ。

firefoxではアドオンでfirebugで要素を調べることができます。

調べたいページで右クリックでショートカットメニューが出ます。
 

Re: Re: Re: Re: Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月10日 at 23:06
514designさん
ご返答有難うございます。
どうも<div id="container">の領域を <div id="navi">が上に乗てます。
試しに<div id="navi">にborderを入れてやると、フッターエリア以外のページエリアの枠を<div id="navi">が囲っていました。
<div id="navi">のマークアップも色々と試みましたが、どうにも、ならないみたいです。(すみませんできないの間違いです。)
サポート外ですし、大変ご迷惑と思いますが、一度ファイルをアップするので、指導していただけないでしょうか?
宜しくお願いいたします。

※imagesのtop_ken.pngはsky.pngの間違いです。
 

Re: Re: Re: Re: Re: Re: concrete5と直接関係ないと思いますが、悩んだ末ご指導お願いします。

2010年12月12日 at 1:47
自己解決しましたのでお知らせいたします。
ありがとうございました。