簡體   English   中英

C#ASPX設置h1背景顏色運行時

[英]C# ASPX Set h1 background color runtime

我想在運行時更改網頁上h1標頭行的背景顏色。 如果我們在prod / dev中運行,則需要相應設置H1標頭標記的背景顏色。

我目前正在為h1設置背景顏色,如下所示:

 align="center" style="background-color: #389BD6 ">HEADER 1 LINE

但是我希望能夠根據當前環境不同地指定顏色。

我假設它將涉及一個CSS,但這對我來說是新的,需要一些幫助。

謝謝

CSS:正好醫生命令的

正如您所提到的,CSS是處理此問題的正確方法,您可以簡單地定義一種將h1元素作為目標的樣式:

<style type='text/css'>
    h1 {
        text-align: center;
        background-color: #389BD6;
    }
</style>

您可以在HTML本身(最好在<head>部分中)或通過外部CSS文件(也在頁面的<head>部分中定義)顯式引用此方法:

<!-- A reference to a CSS file containing the previous style -->
<link href="your-css-file.css" rel="stylesheet" type="text/css" />

基於環境的樣式

關於根據您的環境更改樣式,可以考慮在運行時將CSS類添加到頁面的高級元素,並添加另一種樣式來覆蓋以前的默認樣式:

<!-- Define a runat="server" tag on your body element and an ID (assumes Web Forms) -->
<body id="body" runat="server">

然后在您的Page_Load事件中,根據您的環境(即Debug,Production等)設置類:

// Find your body element
var body = FindControl("body") as HtmlGenericControl;
// If you were able to find it, set it's class
if(body != null)
{
     // Set your environment here
     body.Attributes["class"] = "production";
}

這將在您的<body>元素上呈現“ production”類:

<body id="body" class="production">

您可以使用它來定義另一種CSS樣式,使其僅以生產環境中的<h1>元素為目標:

<style type='text/css'>
    h1 {
        text-align: center;
        background-color: #389BD6;
    }
    /* Target <h1> elements in production */
    .production h1 {
        background-color: purple;
    }
</style>

您還可以通過構建多個樣式表(即production.cssdevelopment.css等)並在其中定義每個特定樣式並使用諸如Preprocessor Directives之類的機制來確定要使用的樣式表來完成此操作。

如果您需要它是動態的,則可以執行以下操作:

<link href="http://somewebsite.com/css.aspx" type="text/css" rel="stylesheet">

這樣,您可以將一個aspx文件視為一個css文件,但是例如,可以使用.aspx中希望使用的任何邏輯來動態設置h1背景色的值,但只能使用此樣式表來包含可能更改的樣式在運行時,因為它會產生很多開銷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM