- PR -

C#.NETでスタイルシートがxpにだけ反映されない??

1
投稿者投稿内容
さのひと
会議室デビュー日: 2008/07/01
投稿数: 11
投稿日時: 2008-07-22 16:44
こんにちは、どうしても不可解な点があって解けないのでスレを立てました。

今現在、VS2005とc#を使いwebサイトを作ろうとしているのですが、スタイルシートがvistaでは反映されるのですが、
どうしてかxpにだけ反映されない状況です。
(localhostでやってみてもxpでは×。vistaでは○でした。)

<link href="test.css" type="text/css" rel="stylesheet"/>

↑の文だけでは足りないのでしょうか??調べても分からない現状です・・・・
もし他に設定しなくてはならない部分や、書き足さなくてはならない部分があれば教えていただければ幸いです。よろしくお願いいたします。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-07-22 17:10
test.css とはどのようなスタイルシートで、本来どうなるべきところがうまくいかないのでしょうか?
確認に使っているブラウザは、どちらの環境もIE7なのでしょうか?

なんとなく思いつくところでは、フォントをメイリオにして表示しようとしているとか。
さのひと
会議室デビュー日: 2008/07/01
投稿数: 11
投稿日時: 2008-07-22 18:42
>>rainさん
ありがとうございます。
test.cssは画像の位置を変更するように設定しています。

.bar-00 {
margin-left: 220px;
border: 1px solid #D695BF;
}.bar-01 {
margin-left: 162px;
border: 1px solid #D695BF;
}
あとは背景色を変更させたりしております。

ブラウザに関してはXPの方はIE6です。VISTAの方はIE7を使用しています。
IE7で確認すべきだったかもしれませんね・・・・・
IE6では反映しないで、IE7では反映するというのは考えられるのでしょうか?
すいませんが、よろしくお願いします。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-22 19:07
HTML も見せて頂かないと判断できないですね。 img 要素自体に指定しているならともかく、親要素がブロック要素の場合は適用されないケースが IE6 にはありますね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さのひと
会議室デビュー日: 2008/07/01
投稿数: 11
投稿日時: 2008-07-22 19:21
>>じゃんぬねっとさん
ありがとうございます。
bar-01の部分でいいんでしょうか・・・?

<table width="150" border="0" cellpadding="0" cellspacing="0" class="bar-01" style="height: 13px">
<tr>
<td>
<img src="spring.gif" height="10" width="100%" alt="Image of Products" />
        </td>
</tr>
</table>

>>親要素がブロック要素の場合は適用されないケースが IE6 にはありますね。
そうなんですか・・・・・そういう部分も注意していかないといけないんですね・・・
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-23 15:32
これだと <table> 要素は margin を無視してしまうのでダメでしょうね。 <img> 要素のみの適用で良いならば、<img> 要素自体に class を指定するか CSS を .bar-01 img {...} のようにすれば良いわけですが、こうすると border が親要素に付かなくなりますので、

コード:

  <div class="bar-01">
    <table> 
      <tbody>
        <tr> 
          <td><img src="spring.gif" height="10" width="100%" alt="Image of Products" /></td> 
        </tr>
      </tbody>
    </table> 
  </div>


のように <div> 要素で Markup することになると思います。

以下は老婆心です。 ただの抜粋コードなので断言はしませんが <table> 要素を使うべきデザインでもないような気がします。 <table> 要素は一般的にデザインが崩れにくいので今でも愛用されている方は多いようですが、<table> 要素にもブラウザ依存の罠はあります。 (有名なのは font-size に差が出てしまう罠)

それとむやみにデザインに関わる属性はつけない方が良いです。 (ただし <img> 要素は width と height を指定しなくてはなりません) ASP.NET が勝手に吐いてしまう困った属性も多いわけですが CSS を使っているのであれば CSS でなるべく管理できるように工夫しましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
1

スキルアップ/キャリアアップ(JOB@IT)