- 締切済み
Fireworksのスライスとスペーサーについて
Fireworksでスライスをするときにスペーサーを入れる設定にすると 元の画像が300ピクセルとすると width="300" のテーブルが書き出されます。 しかし、よく見るとテーブル中にはスライスされた元画像の合計300ピクセルと スペーサー1ピクセルの合わせて301ピクセルの画像が入っています。 この場合、Fireworksの設定で回避する方法は無いのでしょうか? このまま使って悪さをしないでしょうか? また、私はこの書き出されたテーブルを更に別のテーブル(これは自分でコーディングした物) にネストしたいのですが、このテーブルを入れる <td> を width="300" にして大丈夫なのでしょうか? サイズに間違いがあるとブラウザがリロードするのではと思うと心配です。 スライスのテーブルをシングルにすると崩れるといわれていますが、本当にシングルで 使わない方がいいのでしょうか? どなたかご指導くださいませ。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- mat-21
- ベストアンサー率56% (91/162)
補足致します。 > テーブルを使わなくてもいいのですね。 > でも、逆を返すとテーブルを使わなくてもいいような > スライスの仕方をしないとspacer.gifを > 使わないと崩れるということなんでしょうか。 > いずれにしてもなるべくspacer.gifを使わないスライスを > 心がけて使うのがいいようですね。 そうですね、「spacer.gif」を使わないようにするには、 スライスの入れ方を考えなくてはなりません。 例え<DIV><IMG SRC=xxx1.gif ~><IMG SRC=xxx2.gif ~></DIV>と表示した場合、 画像の横サイズの合計(xxx1.gif, xxx2.gif)がブラウザの表示サイズの横サイズを 越えた場合は、"「xxx1.gif」ここで改行「xxx2.gif」"されてしまいます。 よって、テーブルに入れないとこの問題は解消されません。 <DIV><NOBR><IMG SRC=~><IMG SRC=~></NOBR></DIV>て方法もあるけど…。 いずれにしても、スライスの入れ方は、 後で修正も可能なように、横一線というイメージで入れた方がいいのかもしれません。
- mat-21
- ベストアンサー率56% (91/162)
画像サイズ、この場合横一列の並びでお答えしますが、 例えば、画像サイズの横が「400px」の場合、 <table width=300 cellspacing=0 cellpadding=0 border=0>としても 表示は、400pxになります。つまり、 <img src=xxx.gif width=400 height=xxx>となっている場合、 絶対、縮小されません。<table width=300 ~>は無視されます。 ちなみに、<img src=xxx.gif>だけで、width,height指定がなくても、 400px(画像の原寸)で表示されます。 たぶん、Fireworksでスライスのhtmlが書き出されたとき、 すべての画像が<td><img src=~></td>の様に書き出されるかと思います。 この場合、複雑なスライスだとやはりspacer.gifは必要ですが、 スライスの入れ方にコツをつかめば、spacerのいらないやり方ができます。 一行に入れる画像の高さを揃えれば、spacerは要りませんね。 例) <div><img src=xxx1.gif width=200 height=250><img src=xxx2.gif width=100 height=250></div> <div><img src=xxx3.gif width=300 height=125></div> のようにTABLEに入れなくても可能です。 もちろん同じ意味でTABLEに入れても可能です。 つまり、スライスを入れるときに縦のスライスはどこでもいいのですが、 横のスライスは、簡単な場合、左から右までスライスをいれると、 後でHTMLを書くときにわかりやすいかと思います。
- gogo7188
- ベストアンサー率33% (7/21)
>スライスのテーブルをシングルにすると崩れる 300ピクセルの画像はどのようにスライスされていますか? それによって、崩れるか崩れないか変わります。 複雑な作りなら、shim.gifは取らない方がいいです。崩れます。 ブラウザ(バージョン)によっても、崩れたり崩れなかったり違います。 簡単なテーブル(田←みたいな)なら、削除しても大丈夫です。 (いろいろ試すと分かってきます) 回避する方法は、多分ないです。私は自力で削除してます。 ><td>をwidth="300" にして大丈夫なのでしょうか? テーブルの幅の指定は、指定サイズより画像が大きい場合、画像サイズを 優先しますので、大丈夫です。 (ただし、画像サイズが記述されている場合)
お礼
基本的に複雑なスライスはしてはいないので、shim.gifはつけないようにします。なんとなく不可思議で複雑なスライスはしてなかったのですが、今後も敬遠しとくことにしたいと思います。どうしても必要なときのみshim.gifに活躍してもらいます。 ありがとうございました。
- amour7
- ベストアンサー率33% (35/104)
文章を読んだだけで返答してます。 Fireworksにそのような仕様があったのには気づきませんでした。でも、言われてみればなるほどという感じですね。 さて、結局テーブル全体の横幅が301pixであるので、ネストする方の<td width>もおなじ301pixにしなければいけないと思います。 どうしても、スライスした表そのものがきちんと300pixの横幅になる必要があれば、元の画像の横幅を299pixにしてはいかがでしょう?
お礼
ありがとうございました。私も結局そういう使い方をしていましたので、ほかに方法がないようでしたら、踏まえてFireworksと付き合っていきたいと思います。 ご指導ありがとうございました。
お礼
テーブルを使わなくてもいいのですね。 でも、逆を返すとテーブルを使わなくてもいいようなスライスの仕方をしないとspacer.gifを使わないと崩れるということなんでしょうか。 いずれにしてもなるべくspacer.gifを使わないスライスを心がけて使うのがいいようですね。 参考になりました。 ありがとうございました。