MacのFinderがイメージなので、2カラムにしてみた。

<今日やった事>
  • サイドバーを設置。記事リストを右に、サイドバーを左に置く。
  • 記事リストは改行なしで横にスクロールする感じで
  • フッタ部の文字出力位置の微調整
<今日の工夫点>
  • li要素に対するclass属性をボックスで囲み、white-spaceをnowrapにする(これでli要素がulよりはみ出る)
  • ul要素の幅を決め、はみ出た部分はoverflow:autoで対応(これでスクロールバーが出る)
  • フッタ部のheightとpaddingの値を調整(背景画像はpadding+contentの内容いっぱいに広がるため、paddingを設定したらheight、widthをその分引かなくてはいけないっぽい)
  • RoundCornerで角丸画像を作成(幅750px、ヘッダ:高さ200px、フッタ:高さ100px)
<ソース:メインページ>

<div class="contain">
    <ul class="mainlist"><MTEntryImages lastn="20">
        <li <MTIf name="__odd__"> class="oddli" <MTElse> class="evenli" </MTIf>>
        <a class="clearfix" href="<$MTEntryPermalink$>"><span class="leftdata"><img src="<$MTEntryImageSrc$>"><$MTEntryTitle$></span>
        <span class="rightdata"><$MTEntryModifiedDate$></span></a></li>
    </MTEntryImages></ul>  
 <div class="contentleft">
  <$mt:Include module="サイドバー"$>
 </div>
 </div>

<ソース:サイドバー>

<$mt:WidgetSet name="実験用"$>
<ソース:CSS>

/* 記事が表示される部分 */
.contain {
  width:750px; 
  height:400px;  
  margin:0;      
  padding:0;
  background-color:#ffffff;
  color:#000000;
}


/*  メインページのリスト  */
.mainlist{
  font-family:Osaka,"MS Pゴシック",sans-serif;
  font-size:11pt;
  font-weight:normal;
  text-decolation:none;
  line-height:normal; 
  background-color:#ffffff;
  list-style-type:none;    /*  リストの装飾を消す  */
  overflow:auto;
  width:550px;
  height:100%;
  float:right;
}

/*  リスト奇数番目の背景  */
.oddli{
  display:block;
  width:750px;
  background-color:#ffffff; 
  white-space:nowrap;
}

/*  リスト偶数番目の背景  */
.evenli{
  display:block;
  width:750px;
  background-color:#ecf3fe;
  white-space:nowrap;
}

.oddli img,.evenli img{
  padding-top:0,2em;
  border:none;
  vartical-align:bottom;
  width:1em;
  float:left;
}

.rightdata{
  display:block;
  float:right;
}

.leftdata{
  display:block;
  float:left;
}


/*  メインページのリストのアンカーのスタイル  */
.mainlist a:link, .mainlist a:visited{
  display:block;          /*  塗りつぶす  */  
  width:100%;              
  padding-left:0.5em;     /*  左側にちょっと間を空ける  */
  color:#000000;          /*  文字色  */
  text-decoration:none;   /*  文字の装飾なし */
}

.mainlist a:hover, .mainlist a:active{
  display:block;
  width:100%;
  color:#ffffff;             /* マウスが乗ったら色を反転  */
  padding-left:0.5em;  
  background-color:#0000ff;  /* マウスが乗ったら色を反転  */
  text-decoration:none;
}

/*  サイドバー  */
.contentleft{
  width:200px;
  height:100%;
  float:left;
  background-color:#d6dde5;
  overflow:auto;
}

/* cleqarfix */
.clearfix:after {
   content: ".";
   display: block;
   clear: both;
   height: 0;
   visibility: hidden;
}

.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */

/* フッタ部(なんかいろいろ)の部分 */
.footer{
  clear:both;
  height:80px;
  margin:0;
  padding-top:20px;  /*  これがあると画像が縦に横に繰り返される  */
  text-align:center;
  background-image:url(./images/foot.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
  background-color:#333333;
  border-top:solid 1px #000000;
}
 
.footer p{
  color:#000000;
}
<問題点・課題点>
  • 記事リストの末尾に空行が出力されてしまう。スクロールバーの仕様?
  • サイドバーのレイアウトをきちんとする
  • サイドバーを折り畳めるようにする
  • フッタにナビゲーションバーを設置
  • ヘッダの内容が表示内容(インデックス、記事リスト、アーカイブ)で変わるようにする
  • ヘッダに画像のサムネイルを置く


昨日の続き。mixiで質問したら俄然進んだ。

<今日やった事:MTタグ>
  • 余計な改行を取り除く(li要素の部分を一行で書いたのがポイント)
  • a要素の中にimg要素と記事タイトル、公開日付を入れ込む
  • imgと記事タイトル、公開日付をそれぞれspan要素で括る
  • 出力リストを最新20件に限定

<今日やった事:CSS>
  • id要素をclass要素に変更(id要素はページ内で唯一無二のものに付与するものなので、ここではclass要素の方がベター)
  • リスト中のimg要素の修飾方法を定義(ボーダーなし、幅1em)
  • imgと記事タイトルをblockで括り、float:leftを付与
  • 公開日付をblockで括り、float:rightを付与
  • a要素にclearfix属性を定義(詳細はよくわからん。divで囲んだ範囲内からはみ出た部分を微調整するのに使うらしい)
  • .containから、height、overflow属性をカット(overflowを入れておくとスクロールバーの一番下に下地が見えて気持ち悪い)
<ソース:メインページ(変更部分のみ抜粋)>
<div class="contain">
    <ul class="mainlist"><MTEntryImages lastn="20">
        <li <MTIf name="__odd__">  class="oddli" <MTElse> class="evenli" </MTIf>>
<a class="clearfix" href="<$MTEntryPermalink$>"><span class="leftdata"><img src="<$MTEntryImageSrc$>"><$MTEntryTitle$></span>
<span class="rightdata"><$MTEntryModifiedDate$></span></a></li>
    </MTEntryImages></ul>  
 </div>

<ソース:CSS>
/* なんかわからんけどこれがないとうまくいかない */
*{
  margin:0;
  padding:0;
}


body {
  text-align:center;
  background-color:#ffffff;
  background-image:url(./images/bg.png);   /* ドロップシャドウ用の画像配置  */
  background-repeat:repeat-y;       /* 縦に繰り返す */
}

/* ブログの全体を指す */
.container {                 
  width:790px;
  font-family:Osaka,"MS Pゴシック",sans-serif;
  text-align:left;
  background-color:#ffffff;
  border:none;
  margin-left:10px;    /* 影用の画像との兼ね合いで微調整  */
}  


/* ヘッダ部(タイトルとか概要とか)の部分 */
.header {
  padding:30px;
  background-color:#ffffff;    /* 背景色を揃える */
  text-align:center;
  background-image:url(./images/back.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
  border:none;
  margin:0;
}


.header h1 ,.header h2 { /* ヘッダ部分の文字色を白に */
  color:#ffffff;
}

/* 記事が表示される部分 */
.contain {
  width:790px;   
  margin:0;      
  padding:0;
  background-color:#ffffff;
  color:#000000;
}

/*  メインページのリスト  */
.mainlist{
  font-family:Osaka,"MS Pゴシック",sans-serif;
  font-size:11pt;
  font-weight:normal;
  text-decolation:none;
  line-height:normal; 
  background-color:#ffffff;
  list-style-type:none;    /*  リストの装飾を消す  */
}

/*  リスト奇数番目の背景  */
.oddli{
  display:block;
  width:100%;
  background-color:#ffffff;  
}

/*  リスト偶数番目の背景  */
.evenli{
  display:block;
  width:100%;
  background-color:#ecf3fe;
}

.oddli img,.evenli img{
  padding-top:0,2em;
  border:none;
  vartical-align:bottom;
  width:1em;
  float:left;
}
.oddli .rightdata,.evenli .rightdata{
  display:block;
  float:right;
}

.oddli .leftdata,.evenli .leftdata{
  display:block;
  float:left;
}


/*  メインページのリストのアンカーのスタイル  */
.mainlist a:link, .mainlist a:visited{
  display:block;          /*  塗りつぶす  */  
  width:99%;              /*  なんて微妙な値なんだ。でも100%だとうまくいかない  */ 
  padding-left:0.5em;     /*  左側にちょっと間を空ける  */
  color:#000000;          /*  文字色  */
  text-decoration:none;   /*  文字の装飾なし */
}

.mainlist a:hover, .mainlist a:active{
  display:block;
  width:99%;
  color:#ffffff;             /* マウスが乗ったら色を反転  */
  padding-left:0.5em;  
  background-color:#0000ff;  /* マウスが乗ったら色を反転  */
  text-decoration:none;
}

/* clearfix(よくわかんないけど、はみ出たfloatをこれで調整するらしい)  */
.clearfix:after {
   content: ".";
   display: block;
   clear: both;
   height: 0;
   visibility: hidden;
}

.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */

/* フッタ部(なんかいろいろ)の部分 */
.footer{
  width:770px;               /*  こんな微調整をしないかんのか  */
  margin:0;
  padding:10px;
  text-align:center;
  background-image:url(./images/back.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
}

.footer p{
  color:#ffffff;
}
<問題点>
  • フッタが画面下端に来ない。おかげで影の画像だけが間延びして変な感じ(影つけるのは諦めた方がいいのか?)
  • 全体がセンタリングされない。

いきなりはまった。MacのFinderみたいに、画像のサムネイルとブログ記事公開日付を一列にならばせようとしたらレイアウトがめちゃめちゃに崩れた。

<今日やった事>
  • 藤本さんのブログで公開されてるEntryImageプラグインを使って、画像のサムネイルを記事タイトルの左横に表示
  • 同列右端に、ブログの公開日付を表示。これを1列で並べる
  • フッタ部を絶対配置から相対配置に変更

<問題点>
いろいろありすぎ。
  • リスト単位に妙な空行が出力される。CSSを切るとなくなるので、スタイルシートの問題のようではあるが
  • 公開日付を出力するMTタグがわからない。とりあえず、作成日付を出しておく
  • 公開日付が改行されて出力される。これもCSSの仕業っぽい
  • フッタがウインドウ下端までいかず、背景の影だけが出力される
詳細はこちら。Safariで見たら画像と記事タイトルの間にも改行が。どうなってんだ。

<ソース:メインページ>
<ul id="mainlist">
        <li <MTIf name="__odd__" eq="1">
              id="oddli"
            <MTElse>
              id="evenli"
            </MTIf>>
        <img src="<$MTEntryImageSrc$>">
         <a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>
         <div id="listdate">
           <$MTEntryCreatedDate$>
         </div>
       </li>
       <div id="textlist"></div>

   </ul>
   </MTEntryImages>    
 </div>

<ソース:CSS>
/* リスト画像用  */
#mainlist img{
  padding-left:1em;
  padding-top:0.2em;
  vartical-align:bottom;
  height:15px;
  float:left;
}

/* フッタ部(なんかいろいろ)の部分 */
#footer{
  width:770px;               /*  こんな微調整をしないかんのか  */
  height:auto;
  margin:0;
  padding:10px;
  text-align:center;
  background-image:url(./images/back.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
}


#textlist{
  clear:both;
}

#listdate{
  text-align:right;
}

<とりあえずの対応策>
  • mixiで聞いてみた。CSSのidは、classにした方がいいらしい。「後は、落ち着いてCSSを書いてね」と言われた。焦って書いてるわけでもないんだけどなー
  • プラグインの作者、藤本さんにメールで質問してみた。回答がくればラッキーな感じ。
頭痛くなってきたので今日はこれでおしまい。

iTunesの曲目一覧みたいにできればなーって。1カラムだけど。こんだけ作るのに半日かかった。

<今日やった事:CSS>
  • フッターをページ下部に固定
  • 記事部の領域を固定値で定めて、はみ出た部分はスクロールにする
  • リンク文字の装飾を消す。また、マウスが置かれたら色を反転させるようにする
  • 一行ごとに背景の色を変える
<今日やった事:MT>
  • アーカイブリストをメインページに持ってくる
  • カウンタで奇数個目の記事か偶数個目の記事かを判別。それによりリスト要素に付与するCSSを変更する

<ソース:スタイルシート(追加/変更部分の抜粋)>

/* 記事が表示される部分 */
#contain {
  width:790px;   /* すごい微妙な値になってしまった。どうすりゃいいんだ  */
  height:360px;  /* すごい微妙な値になってしまった。どうすりゃいいんだ  */
  overflow:auto; /* はみ出た部分はスクロール  */
  margin:0;      
  padding:0;
  background-color:#aaaaff;
  color:#000000;
  border:none;  /* 意味なしっぽい  */
}

/*  メインページのリスト  */
#mainlist{
  font-family:Osaka,"MS Pゴシック",sans-serif;
  font-size:11pt;
  font-weight:normail;
  text-decolation:none;
  line-height:normal; 
  background-color:#ffffff;
  list-style-type:none;    /*  リストの装飾を消す  */
}

/*  メインページのリストのアンカーのスタイル  */
#mainlist a:link, a:visited{
  display:block;          /*  塗りつぶす  */  
  width:99%;              /*  なんて微妙な値なんだ。でも100%だとうまくいかない  */ 
  padding-left:0.5em;     /*  左側にちょっと間を空ける  */
  color:#000000;          /*  文字色  */
  text-decoration:none;   /*  文字の装飾なし */
}

#mainlist a:hover, a.active{
  display:block;
  width:99%;
  color:#ffffff;             /* マウスが乗ったら色を反転  */
  padding-left:0.5em;  
  background-color:#0000ff;  /* マウスが乗ったら色を反転  */
  text-decoration:none;
}

#oddli{                    /*  奇数個目のリストのバック  */
  display:block;          
  width:100%;
  background-color:#ffffff;
}

#evenli{                   /*  偶数個目のリストのバック  */
 display:block;
  width:100%;
  background-color:#ecf3fe;
}

/* フッタ部(なんかいろいろ)の部分 */
#footer{
  width:770px;               /*  こんな微調整をしないかんのか  */
  position:absolute;         /*  絶対的に下に置いておく事にした  */
  bottom:0px;
  margin:0px;
  padding:10px;
  text-align:center;
  background-image:url(./images/back.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
  border:none;
}


<ソース:メインページ(追加/変更部分のみ抜粋)>

  <div id="contain">
   <MTArchiveList archive_type="Individual">
      <MTArchiveListHeader>
      <ul id="mainlist">
        </MTArchiveListHeader>
        <li <MTIf name="__odd__" eq="1">
              id="oddli"
            <MTElse>>
              id="evenli"
            </MTIf>>
         <a href="<$MTArchiveLink$>"><$MTArchiveTitle$></a></li>
        <MTArchiveListFooter>
        </ul>  
        </MTArchiveListFooter>
    </MTArchiveList>
  </div>
 
<苦労した点>
  • CSSの位置合わせ。自分のウインドウサイズでしか確認してないけど、他の人が見たらどう見えるんだろう
  • 奇数/偶数判定のロジック。まさかアンダースコアが二ついるとは思わなんだ。あれのせいで1時間は無駄に費やした
出来た感じはこんなん

<課題>
  • iTunesみたいに2カラムにしたい
  • 新着記事はnewマークとか出したいんだけど...論理演算子が使えるのか不明。てかCSSさらに分岐させるのか
  • 記事公開日を右端に右揃えで置きたいんだけど、これはできるのか?なんか無理っぽい気がする。できなきゃ妥協案で記事名の前に左揃えで挿入だな。うう、美しくない
  • リストの先頭にCDジャケ画像の極小サムネイルを置きたい。これまた一苦労な
  • CSSを1から作り直したせいで個別記事ページのレイアウトがめちゃめちゃ。ぼちぼち直していきたい
ま、ちょっとずつやってきますわ。

Macとかだとそうなってるんですけど、ウインドウ間が重なっている感じを出すために影をつけるっていうやつ。あれをブログでもやってみたいと思いチャレンジしてみました。

<今日やった事>

  • ヘッダ部、フッタ部の画像を作成。こんなの。
    ヘッダ・フッタ用画像
  • 影用の画像を作成。こんなの。
    影用背景画像
  • それぞれの画像をCSSにて配置。微調整を行う。

<苦労した点>
  • まず、影画像の作成に難儀した。ブログの幅はどれだけか、どのぐらいの色の濃さでグラデーションかけてけば影っぽく見えるのか試行錯誤。
  • 背景との位置合わせにも試行錯誤。marginだのpaddingだの謎のパラメタをあーでもないこーでもないとやりくりした。
<ソース:スタイルシート>

/* なんかわからんけどこれがないとうまくいかない */
*{
margin:0;
padding:0;
}


body {
text-align:center;
background-color:#ffffff;
background-image:url(./images/bg.png); /* ドロップシャドウ用の画像配置 */
background-repeat:repeat-y; /* 縦に繰り返す */
}

/* ブログの全体を指す */
#container {
width:790px;
text-align:left;
background-color:#ffffff;
border:none;
margin-left:10px; /* 影用の画像との兼ね合いで微調整 */
}


/* ヘッダ部(タイトルとか概要とか)の部分 */
#header {
padding:30px;
background-color:#ffffff; /* 背景色を揃える */
text-align:center;
background-image:url(./images/back.png); /* 画像の設定 */
background-repeat:no-repeat; /* 画像を敷き詰めない */
border:none;
margin:0;
}


#header h1 ,#header h2 { /* ヘッダ部分の文字色を白に */
color:#ffffff;
}

/* 記事が表示される部分 */
#contain {
padding:30px;
background-color:#ffffff;
color:#000000;
}

/* フッタ部(なんかいろいろ)の部分 */
#footer{
margin:0px;
padding:1px;
text-align:center;
background-image:url(./images/back.png); /* 画像の設定 */
background-repeat:no-repeat; /* 画像を敷き詰めない */
border:none;
}

#footer p{
color:#ffffff;
}

<問題点>
  • どうしてもブログ全体が左端によってしまう。世のブログが綺麗にセンタリングされているというのに。なにがいけないのだ?
出来た感じはこんな感じ。アドバイスください。
 

よくわからないでいろいろプラグイン入れたりJavascript入れたりしてもどうにもならんな、と思い、実験環境は一回まっさらにする事にしました。で、改めて1から作っていこうと思います。

<今日やった事>

  • MT標準のテンプレートを初期化。ていうか全削除
  • スタイルシートも全クリア
  • 1カラム用のブログとしてヘッダ部、ボディ部、フッタ部を配置
  • 各々の部所にスタイルシートを設定
<ソース:メインページ>
<$mt:Include module="ヘッダー"$>
<div id="container">
  <div id="header">
    <h1><$MTBlogName$></h1>
    <h2><$MTBlogDescription$></h2>
  </div>
  <div id="contain">
    <MTEntries lastn="5">
      <h3><$MTEntryTitle$></h3>
      <$MTEntryBody$>
    </MTEntries>
  </div>
  <div id="footer">
    test
  </div>
</div>
<$mt:Include module="フッター"$> 
<ソース:ヘッダー>
<!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" id="sixapart-standard">
<head>
    <meta http-equiv="Content-Type" content="text/html; 
charset=<$MTPublishCharset$>" /> <title><$MTBlogName$></title> <meta name="generator" content="<$MTProductName version="1"$>" /> <link rel="stylesheet" href="<$MTBlogURL$>test1.css"
 type="text/css" /> </head> <body>
<ソース:フッター>
</body>
</html>

<スタイルシート>
body {
  text-align:center;
  background-color:#ffffff;
}

/* ブログの全体を指す */
#container {                 
  width:750px;
  text-align:left;
  background-color:#ffffff;
  border:solid 1px #000000;
}  

/* ヘッダ部(タイトルとか概要とか)の部分 */
#header {
  padding:30px;
  background-color:#00ff00;
  text-align:center;
  background-image:url(./images/bg-top_750.png); /* 画像の設定 */
  background-repeat:no-repeat;                  /* 画像を敷き詰めない */
}

#header h1 ,#header h2 { /* ヘッダ部分の文字色を白に */
  color:#ffffff;
}

/* 記事が表示される部分 */
#contain {
  padding:30px;
  background-color:#000000;
  color:#ffffff;
}

/* フッタ部(なんかいろいろ)の部分 */
#footer {
  padding:30px;
  text-align:center;
  background-color:#aaaaaa; /* フッタ部分の色をヘッダの画像と似た色に */
}

#footer p {
  color:#ffffff; /* フッタ部分の文字色を白に */
}


<今日の問題点>
  • ヘッダ部の画像が繰り返し表示されてしまう。background-repeatを指定してもダメだった
  • ヘッダ部の画像にiTunesみたいなのを使いたいのだが、どうやって作ればいいのか不明

リンク

<

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アイテム

  • 影用背景画像
  • ヘッダ・フッタ用画像

タグクラウド

カテゴリ

ウェブページ

  • image
Powered by Movable Type 4.1