2005年03月30日
●IE5.xでのボックス表示を修正する
IE5.x(Netscape4.xも)やIE6の後方互換モードではCSSの width, padding, border の解釈にバグがあるというのは巷で有名みたいで、ブログでCSSに関わりだした私は
の記事で初めてこの事実を知りました。それ以来随分と気になってましたが、関連の話題をエントリーします。
以下、Ie5.xでボックス表示を変更させる方法を紹介します。できる!CSSさんのWin IE5xだけ別のCSS 2経由で
@media tty {
i{content:"\";/*" "*/}} @import 'hogehoge.css'; /*";}
}/* */
コードの意味はともかく、上記サイトのサンプルを見てもどこにどう書けばよく分からなかったのですが、下のようにHTMLのhead部分に記述することでOKとなりました(上記サイトのページソースがこのようになっていました)。
<link rel="stylesheet" href="styles-site.css" type="text/css" title="Default" />
:
<style type="text/css"/>/*<![CDATA[*/
@media tty {
i{content:"\";/*" "*/}} @import 'hogehoge.css'; /*";}
}/* */
/*]]>*/</style/>
このように記述することで、最初に link タグの外部CSS(styles-site.css)を読み込み、その後でIE5.x用のスタイルシート(hogehoge.css)が読み込まれます。全体をCDATAセクションで括っているのはおそらく xml として Valid にするための対処と推測されます(間違ってたらお許しを)。
追記
本エントリーでキャプチャしたサンプルページです。また、このサンプルページでIE5.x用に用意した外部スタイルシートの内容は、
/* 右カラム */
#links-right{
float: left;
color: #ffffff;
width : 185px ;
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
}
/* 左カラム */
#links-left{
float: left;
color: #ffffff;
width : 185px ;
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
}
としています。変更したのは width で、元々 155px だったものを、左右 padding 分の 30px を足して 185px にしています。width 以外は元スタイルシートの設定と重複しているので不要かも知れません。
2004年11月15日
●枠線(border)の指定
ご質問を頂きましたので、テンプレートで提供しているサイドメニュータイトルや本文のblockquoteタグで用いている枠線のスタイルシート指定方法を紹介します。
まず指定フォーマットは下記の通りです。
- border: width style color
border-top: width style color
border-right: width style color
border-bottom: width style color
border-left: width style color
- width:枠線の幅
style:枠線のスタイル
color:枠線の色
次にスタイルシートを外部ファイル(styles-site.css)に記述する場合のサンプルをいくつか記します。ここではblockquoteタグを直接指定する方法で記しておきます。
【シンプルな指定(幅:1px/スタイル:1本線/色:青)】
- blockquote {
border: 1px solid blue;
}
hogehoge
hogehoge
【このサイトのblockquote指定(幅:2px/スタイル:点線/色:グレー)】
- blockquote {
border: 2px dotted 999999;
}
hogehoge
hogehoge
【付箋紙風(幅:左10px、その他1px/スタイル:1本線/色:緑)】
- blockquote {
border-left: 10px solid green;
border-top: 1px solid green;
border-bottom: 1px solid green;
border-right: 1px solid green;
}
hogehoge
hogehoge
幅・色はなんとなくお分かりになると思いますので、スタイル指定のみ下記に列挙しておきます。それぞれどのように表示されるかはお試しになってください。
| none | 非表示(デフォルト) |
| hidden | 非表示 |
| solid | 1本線 |
| double | 2本線 |
| groove | 窪んだ線 |
| rigde | 隆起した線 |
| inset | 全体が窪んだように表示 |
| outset | 全体が隆起したように表示 |
| dashed | 破線 |
| dotted | 点線 |
なお指定内容によってはブラウザによって表示が異なる場合がありますのでご注意ください。
2004年11月11日
●リンク画像の枠線を消す
バナー等の画像にリンクを設定すると青い枠が表示されます。これを消去する方法を何通りかご紹介します。
<img src="~" ait="banner" border="0"/>
HTMLタグ内のstyle属性にスタイルシートを設定
<img src="~" alt="banner" style="border-style:none;"/>
スタイルシート(styles-site.css)に設定(実際にはclass属性・id属性で指定)
img {
border-style:none;
}
表示上の効果はどれも同じです。スタイルシートの場合、style属性の設定がstyles-site.cssなどの外部ファイル(やstyle要素)の設定より優先されます。
2004年10月05日
●カレンダーの本日に枠線を表示
カレンダーの本日の日付を強調表示していたのですが、我楽さんの今さら普通のカレンダー設置。を参考に、日付に枠線を表示するよう変更してみました。ありがとうございました。
3カラムの各テンプレートを変更する場合は、カレンダー設定箇所の赤色部分を青色に変更します。
変更前
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td align="center" <MTCalendarIfToday>bgcolor="#ffffe0" </MTCalendarIfToday>>
変更後
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td align="center" <MTCalendarIfToday>style="border : 1px solid #8FABBE;"</MTCalendarIfToday>>
月送りカレンダーのテンプレートを変更する場合は下記の通りです。
赤色を削除して青色を挿入
<MTCalendar month="this">
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td align="center" <MTCalendarIfToday>style="border : 1px solid #8FABBE;"</MTCalendarIfToday>>
<span class="calendar">
<!--追加--><MTCalendarIfToday><b></MTCalendarIfToday><!---->
<MTCalendarIfEntries><MTEntries lastn="1">
<a href="<$MTEntryLink archive_type="Daily"$>" title="[<$MTEntryTitle$>]" target="_top">
<$MTCalendarDay$></a>
</MTEntries></MTCalendarIfEntries>
<MTCalendarIfNoEntries><$MTCalendarDay$>
</MTCalendarIfNoEntries>
<!--追加--><MTCalendarIfToday></b></MTCalendarIfToday><!---->
</span>
<MTCalendarIfBlank> </MTCalendarIfBlank>
</span></td>
<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>
2004.10.06 追記
本カスタマイズを行うと枠線表示分だけ高さが増えてしまいます。そのため月送りカレンダーを変更された場合、6週表示で最後の週がiframeからはみだしてしまうようであれば、テンプレートでカレンダーを挿入している設定の下記の赤色の値を+2して再構築してみてください。
<iframe name="cal-iframe" src="<MTBlogURL>archives/calendar/<MTDate format="%Y/%m/index">.php" width="160" height="112" scrolling="NO" frameborder="0" marginwidth="0" marginheight="0"></iframe>
2004年09月29日
●リンクをマウスオン時にずらす
これも使い始めて随分日が経ちましたがとりあえずご紹介まで。
文字や画像のリンクにマウスをポイントすると表示が右下にずれるという技です。我楽さんのサイトで使われているのが気に入って、使ってみました。とりあえずタイトル文字と右下のバナーに適用させています。こういう小技は洒落ていていいですね。
カスタマイズ方法は、スタイルシートで該当するa:hoverの中に
position:relative; top:1px; left:1px;
を入れればOKです。
2004年09月06日
●リンクのアンダーライン一部削除
なんとなく表示が煩わしい感じがすると思ったらリンクのアンダーラインが全部出っ放しでした(早く気がつけって?)。で全部消したらすごい違和感があったので(笑)、
- 本文
- 投稿者欄
- カレンダー
ちなみにアンダーライン有無の指定はstyles-site.cssの各aタグ指定の
text-decoration: underline;
という部分を
text-decoration: none;
に変更すればOKです。
アンダーラインだけに、



