@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

[ASP.NET]ASPXとHTMLによる、TEXTAREAの表示形式の違いについて

1
投稿者投稿内容
アキミ
常連さん
会議室デビュー日: 2003/05/30
投稿数: 21
投稿日時: 2003-06-06 23:47
こんばんわ。
アキミと申します。

ASPXファイルとHTMLファイルで、TEXTAREAの表示形式が変わってしまい悩んでいます。
はき出されるHTMLは殆ど同じモノなのに、TEXTAREA内のフォントが違うのです。
システムに影響がある範囲ではないのですが、気になってしまって…。
ASP.NETの仕様なのか?と思ってしまいます。

・ASPXファイルでの表示

・HTMLソース
コード:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
		<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form name="Form1" method="post" action="test.aspx" id="Form1">
<input type="hidden" name="__VIEWSTATE" value="dDwtMTI3OTMzNDM4NDs7PqDBpWH/rF4JtdyiZjUSj+DakabJ" />

			<TEXTAREA style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 16px" rows="2" cols="20">
			</TEXTAREA>
		</form>
	</body>
</HTML>



・HTMLファイルでの表示

・HTMLソース
コード:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
		<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form id="Form1" method="post" runat="server">
			<TEXTAREA style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 16px" rows="2" cols="20">
			</TEXTAREA>
		</form>
	</body>
</HTML>


(拡張子をaspxからhtmlに変更しただけです)

上記のように、フォントが微妙に違います。
OSを変更したりブラウザのバージョンを変えたりしましたが、変化がありません。

これは、ある種の仕様のようなものなのでしょうか?
それとも、ASP.NETの設定によるモノなのでしょうか…。

なにか、情報等がありましたらよろしくお願い致します。
Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2003-06-09 11:22

同じように全く同じHTMLソースなのに<input type="button">タグの高さが
違うということがあり、調べてみました。

結論から言うと、エンコードに使う文字セットの違いが原因だと思います。

ASPXファイルではUTF-8がデフォルトですが、HTMLファイルではシフトJISが
デフォルトになっているようです。

そして、IEでは文字コードが違うと見た目に影響があるようです。

試したのはWinXPプロSp1のIE6SP1ですが、同じマシンのOpera7.0.1では
文字コードによる見た目の違いは見つけられませんでした。

ASPXファイルの文字セットはWeb.configで指定しますが、HTMLファイル
の場合はどこで指定されているか分かりません。(サーバの環境に依存?)

ですから、対処としてはHTMLファイルでは文字セットを個別に指定する
しかないのかな?と思っています。
(ASPXファイルの方の設定を変えるのは、HTMLファイルの文字セットを
決定している要因が分からないのと、下手にデフォルトの設定を変えると
怖いのでやらないことにしています)

しかし、以下の点は腑に落ちないです。

1.なぜASPXファイルとHTMLファイルでデフォルトの文字セットが違うのか?

2.なぜIEはエンコードの文字セットによって見た目が変わるのか?

何か分かる方がいましたら、よろしくお願いします。
ウィリー
常連さん
会議室デビュー日: 2003/01/24
投稿数: 24
お住まい・勤務地: 千葉県
投稿日時: 2003-06-09 11:26
TextBoxのフォント属性を変えれば任意の形式になりますよ。

Font-Name="MS ゴシック" など。
Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2003-06-09 19:18

ネームスペースさんの言うとおりフォントを指定すれば同じように
表示されました。

外部のスタイルシートで指定していたのですが、これが適用されて
いなかったようです。
アキミ
常連さん
会議室デビュー日: 2003/05/30
投稿数: 21
投稿日時: 2003-06-11 14:45
Web.configでShift_JISに変更をしたらHTMLと同じ形式で表示することができました。
UTF-8なんですね。今の今まで気がつきませんでした。
ありがとうございます。

>1.なぜASPXファイルとHTMLファイルでデフォルトの文字セットが違うのか?
>2.なぜIEはエンコードの文字セットによって見た目が変わるのか?

エンコードの文字セットによって見た目が変わるのは、ちょっと不思議ですね。
どうせなら統一してもらいたい気持ちはあるのですが…。
完全日本語環境ならば、ディフォルトを変更してもいい気もするのですが、
やはり、気持ち的には安心できるものではないですよね。

UTF-8のフォントはなんだかカクカクしてて。
あんまり好きになれそうにありません。


[ メッセージ編集済み 編集者: アキミ 編集日時 2003-06-11 14:51 ]
1

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