0

私はasp.netでWebアプリケーションを開発しています - c# ....

次のようなcssクラスを定義する場合:

.IEStyle{color:Red;}
.FFStyle{color:Blue;}
.DefaultStyle{color:Black;}    

私はラベルだけのためにそれを試しました....

<asp:Label ID="lblSample" runat="server" ie:CssClass="IEStyle"  
mozilla:CssClass="FFStyle" CssClass="DefaultStyle" ie:Text="You are in Internet  
explorer." mozilla:Text="You are in Firefox." Text="You are in other browser." />

それは良いことですが、常に可能というわけではありません...まだブラウザの互換性の問題に直面しています.... javascriptを探しているので、誰かが私に提案してくれます。例を挙げて説明すると、理解が容易になり、アプリケーションに統合できます...

4

2 に答える 2

1

これは一般的なアプローチではありません。ただし、ブラウザの種類ごとに個別のスタイルシートを用意することを検討してください。ルールの名前 (クラス名) は、各スタイルシートで同じになります。次に、必要なスタイルシートのみをロードします。

スタイルシートを動的にロードする 1 つの方法を次に示します (説明はこちら)。

<link id="myLinkstyle" runat="server" rel="Stylesheet" type="text/css">

protected void Page_Load(object sender, EventArgs e)

{

System.Web.HttpBrowserCapabilities browser = Request.Browser;

if (browser.Browser.ToLower() == "ie")

myLinkstyle.Href = "CSS/IEStyles.css";

else

myLinkstyle.Href = "CSS/OtherBrowserStyle.css";

}
于 2012-05-01T14:24:28.727 に答える
0

css は次のとおりです。

/*default*/
label{color : #000;}
/*ie*/
.ie label{color : #ff0000;}
/*ff*/
.firefox label{color : #0000ff;}

そして、ここにjsの部分があります:

if(navigator.userAgent.test(/firefox/i))
    document.body.className += ' ff';
else if(navigator.userAgent.test(/msie/i))
    document.body.className += ' ie';
// else => default

何が起こるか: JavaScript がブラウザ名を検出し、body 要素にクラス名を設定します。CSS ルールはそのクラス名に反応し、ブラウザーごとに異なるラベルの色を付けます。

于 2012-05-01T14:25:50.060 に答える