プロが教える店舗&オフィスのセキュリティ対策術

お世話になります

clip:rectを試しているのですが疑問があるので教えていただきたいのですが

<style type="text/css"><!--
#clip {
position:absolute;
clip:rect(5px,40px,40px,5px);
background-color:blue;
}
--></style>

<div id="clip">
あいうえお<br>
かきくけこ<br>
さしすせそ<br>
</div>

Firefox、Operaでは表示されているのですがIE6ではclipされずに全表示されています

サイト検索してもIE6は対応しているように書かれているのですが・・・(例文は大抵imgでしたけど)
そしてclipを動的にするとIE6でもちゃんとなるのですが何故でしょう?

<script language="javascript"><!--
function move(ht,wr,hb,wl) {
obj = document.getElementById("game");
ht--; if(ht < 0) ht = 0;
hb++; if(hb > 300) hb = 300;
wr++; if(wr > 500) wr = 500;
wl--; if(wl < 0) wl = 0;
obj.style.clip = "rect("+ht+"px "+wr+"px "+hb+"px "+wl+"px)" ;
if(ht == 0 && wl == 0) return false;
setTimeout("move("+ht+","+wr+","+hb+","+wl+")",10);
}
//--></script>
<style type="text/css"><!--
#game {
width:500px;
height:300px;
background-color:lightcyan;
position:absolute;
}
--></style>
<body onload="move(150,250,150,250)">
<div id="game"></div>

A 回答 (2件)

訂正です。

スレ読んだだけで仕様をしっかり読んでませんでした。

Authors should separate offset values with commas.
CSS記述者はオフセット値をカンマで区切るべきである。
User agents must support separation with commas,
User Agentsはカンマ区切りをサポート【しなければならない】が

but may also support separation without commas, because a previous revision of this specification was ambiguous in this respect.
この仕様の前回の版ではこの点について曖昧な記述だったため,
カンマなし区切りをサポートしても良い。

#おそらくIEの開発は,この前版までの情報を頼りに製作されていたんじゃないかなあ
    • good
    • 0
この回答へのお礼

回答ありがとうございます

ckip:rectで検索したときにコンマ区切りのものとスペース区切りのものがあったのでどっちが本当なのかな~とは思っていたのですが回答を得てすっきりしました

自分の作ったソースを見直してみたら確かに静的なほうはコンマ区切り、動的なほうはスペース区切りで作っていましたね(--;)

スペース区切りでやるときちんと表示されました

ありがとうございました

お礼日時:2007/09/24 19:40

http://www.velocityreviews.com/forums/t156626-ie …
によると

CSS 2.1の仕様では
http://www.w3.org/TR/CSS21/visufx.html#propdef-c …

clip:rect(5px,40px,40px,5px);
というようにカンマ区切りにするのが正しいがこれではIE6では動作しない。
【CSSとして正しくない】が,
clip:rect(5px 40px 40px 5px);
のようにスペース区切りだとIE6で動作するらしい。実際記述されたjavascript/JScriptソースはスペース区切りになっている。
(俺はIE7でしか検証してないが,確認できた)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!