CSS
Select要素とFirefox
2013.12.10
以前このようなエントリを書きましたが、
久しぶりにselect要素の装飾について検索してみたところ、
Firefoxのselect要素に付くしつこいデフォルトスタイルを、
CSSのみで消し去る方法が書かれていました。

How to remove hide the <select> arrow in Firefox using

通常のアピアランスのクリアに加え、下記の2行を追加することで
あの憎き矢印を回避できるようです、これは期待が高まります。
------------
select {
 -moz-appearance: none;
 text-indent: 0.01px; ←コレと
 text-overflow: ''; ←コレ
}

------------

また、このままだとIE10で矢印が表示されてしまうので、
------------
select::-ms-expand {
 display: none;
}

------------
を加えることで対処できます。

この方法でselect要素を装飾してみたサンプルを、
いくつかの環境で表示させてみました。
select_sample01.gif
IE8に関してはまぁアレなのでアレとして、
PC版のFirefoxでは確かに矢印は消えています、素晴らしい。
しかし、ワタクシ的に一番期待していたAndroid版Firefoxでは
残念ながら効果がありませんでした...。
モジラさん、お願いしますよ。
| コメント(0)
IE8で nth-child を使う
2013.09.11
first-childは、IE8でもきくのですが、
nth-child(n)はきかないのですよねー。
これが使えたらすごく便利なのに。

ということで調べてみました。
いろいろ適応させる方法はあるようなのですが、使いたい部分がサイトの共通部分で
その案件が、大きめの案件で既に納品しているページもあったので
ヘッターの記述に新たに何か追加したくなかったことと、
はずかしながら、自分はjsの理解度が低いので、CSS内で解決という条件で探しました。
下記ページのハックが簡単でわかりやすかったです。

CSS: Internet Explorer 7-8 nth-child hack

これを
------------
.test ul li:nth-child(3){
background: yellow;
}
------------

こう書く
------------
.test ul > *:first-child + * + * {
background: yellow;
}
------------

「+ *」の数を増やして調節する。
IE8でもききました。
| コメント(0)
「DD_belatedPNG」IE6で1pxずれる解決方法
2012.02.20
以前このグラビカでも「DD_belatedPNG」を紹介する記事を紹介していました、
pngをIE6に対応させるためのJS「DD_belatedPNG」について注意点です。

CSSでマウスオーバーを表現させたい場合、
通常時とオーバー時の画像をつなげて、aタグの背景に指定し、
hoverで画像をスライドさせる方法があります。
png画像を使用した場合、IE6で正しく表示されないため
DD_belatedPNGを使用します。

が、、、、
上記のような場合、aタグの縦幅(height)が、奇数だと、
IE6で、オーバー画像が1px余分にスライドしてしまい、
画像がずれたような表現になってしまいます。
背景の位置指定では調節できないようです。
なんでか全くわかりませんが、
縦幅を偶数にすることで解決できます。

きみのために入れてるのにわがまま言うなよ。。。(;´_`;) ハァ・・

| コメント(0)
HTMLで文章中に画像を入れる(IE6対策)
2011.07.06
文章中に、アイコンなど小さな画像を入れたい場合が結構あります。
そんな時は、画像に「vertical-align:middle;」や「vertical-align:text-top;」を
指定するとほとんどのブラウザで崩れる事なく表示されます。
が、やはりIE6では、画像挿入後にline-heightが無効になってしまうらしく
かなり崩れてしまいます。

  • ああああああああああああああああああああああああ
  • いいいいいいいいいいい
  • ううううううううううううううううう1ううううううううううううううううう2ううううううううううううううううう


上記は1、2、3の文章をリストにしています。
下記のように、リスト内の画像にスタイルを当てると
多少のずれはあるものの、IE6でもきれいに表示されます。

----------------------

li img{
padding:6px 0 5px 0;
vertical-align:middle;
}

li > img {
padding:0;
}

----------------------

下記のページを参考にさせていただきました。
IEバグ:img要素などの置換要素を含む行の前後では、line-heightが指定した値より小さくなる

| コメント(0)
safariの文字間修正
2011.02.16
もともとmacはwindowsに比べて文字間が広いという認識でしたが、
最近firefoxは、windowsに近い表示になってきたようです。
そこで困るのがsafari。
いくつか検索してsafariのみにきくハックを試してみましたが、
バージョンが低いもの用なのか、効果なし。。。
やっとバージョン 5.0.3使えるものを見つけました。

---------------

@media screen and (-webkit-min-device-pixel-ratio:0){
ココにsafariだけにきかせたいスタイルを書く
}

---------------

でもバージョンが新しくなってくると使えなくなってしまう可能性があるので
期間限定のサイトに限った方が良さそうです。
| コメント(0)
携帯サイトでXHTMLを使う
2010.01.28
携帯サイトの制作にXHTMLを使ったのですが(cssを使うため)、
MTで書き出していたので文字コードはUTF-8でした。
あまりない状況かもしれませんが、そのときに躓いたところを
メモしておこうと思います。

※ちなみに頼りの綱だったMT-I18NプラグインはMT5未対応でした。。
※2010.5.20 追記
I18NHelperというプラグインなら動くとの情報を頂きました。
タグを書くときは文字コード指定の大文字/小文字に注意です!



| コメント(6)
IE6で縦方向にできる隙間
2009.01.29
今更な感じですが、IE6でのレイアウト崩れについてです。

<div>や<img>などの要素を縦に並べたとき、余計な隙間ができてしまうことがあります。場合によって原因は変わってくると思いますが、起こりやすそうなものを書いてみます。

横幅にぴったりな<img>の下の隙間


<img>タグで親の横幅にぴったりな画像を入れている場合、直下の要素との間が空いてしまうことがあります。
これは、<img>と要素の間の改行が原因であることが多いです。

<div>
 <img src="xxxxx">
 <div>
 コンテンツ
 </div>
</div>

コードを見やすくするために改行したいものですが、改行は半角スペースに変換されてしまうため、横幅に納まりきらず縦に伸びてしまいます。

こういう場合は<img>タグ後の改行をとってしまうか、<img>タグの後ろに<br />タグを入れれば解決できます。

<div>
 <img src="xxxxx"><br />
 <div>
 コンテンツ
 </div>
</div>

こんな感じです。



縦細の<div>の下にできる隙間


縦幅の狭い<div>などを使っている場合、下に余計な余白がでることがあります。
これは、指定した height よりも文字サイズ+行間が大きいことが原因です。
厄介なのは、要素内にテキストを入れてなくても起こること・・
パッと見て、文字サイズが問題だと気付きにくいです。

スタイルで font-size や line-height を指定して、<div>の height よりも小さくしてあげれば直ると思います。
09/6/24
後に別の記事でも書いていますが、スタイルに「overflow:hidden; 」を設定することでも解決できるようです。
文字サイズでも間違いではないですが、あまり小さくするとスパム扱いされてしまう場合があるようです・・。
| コメント(4)
lightbox、エリア外の半透明部分の設定
2009.01.07
lightboxを使って画像をポップアップさせたとき、エリアの外はデフォルトでは半透明の黒が敷かれるのですが、そこを変えてみました。

カラーは、lightbox.css内にある「 #overlay 」の背景色を変更することで変えることができます。

同じようにして、不透明度も変えられるだろうと思ったのですが・・
どうやら、ここでは設定できないようです。

不透明度のほうは、lightbox.jsの320行目にある

new Effect.Appear('overlay', { duration: 0.2, from: 0.0, to: 0.8 });

最後の to: の部分で設定できました。
この場合は0.8なので不透明度80%です。
| コメント(0)
CSSの書き方について その1
2008.08.19
以前に雑誌に載っていた事ですが、便利そうなので載せてみます。

他の人が作成したCSSファイルを理解したり、自分が作成したファイルであっても、あまりにもスタイルが多くなってしまうとどこに書いたか探すのに時間がかかってしまったりします。
 そんな時に、冒頭に目次のように情報を整理して、見出しの書き方に少し工夫をしておけば探すのがとても楽になります。

 例えば

/*=====================================
=1 common
=2 header
=3 sub menu
=4 main menu
=5 left
=6 main
=7 right
=8 footer
=====================================*/

上記のように見出しを目次化しておき、
見出しは

/*=====================================
=4 main menu
=====================================*/

という感じで記述するようにする。
そうするとだいぶ下の方に書かれているmain menuも「=4」と検索しただけで見つける事ができます。

急ぎの仕事の時にはついつい怠ってしまいそうですが、規模の大きいサイトや更新が頻繁に入りそうなサイトの時にはとっても便利です。

梅津でした。

| コメント(0)