Cum se configurează un switch CSS

Lucrez pe un site care va trece la un nou stil la o anumită dată. Site-ul a fost construit în HTML și CSS semantic, astfel încât schimbarea ar trebui să necesite doar o schimbare de referință CSS. Lucrez cu un designer care va trebui să poată vedea cum arată, precum și un client care va trebui să poată revizui actualizările de conținut în aspectul actual, precum și progresul designului pe aspectul nou.

Am de gând să folosesc o valoare magică a interogării de interogare și / sau o legătură în JavaScript în subsolul care scrie un cookie pentru a selecta noua pagină CSS. Lucrăm în ASP.NET 3.5. Orice recomandări?

Ar trebui să menționez că folosim IE Conditional Comments pentru suportul IE8, 7 și 6. S-ar putea să creez o funcție care să înlocuiască:

<link href="Style/<% GetCssRoot() %>.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 8]>
    <link type="text/css" href="Style/<% GetCssRoot() %>-ie8.css" rel="stylesheet" />

    <link type="text/css" href="Style/<% GetCssRoot() %>-ie7.css" rel="stylesheet" />

    <link type="text/css" href="Style/<% GetCssRoot() %>-ie6.css" rel="stylesheet" />
0
fr hi bn

4 răspunsuri

Ar trebui să căutați temele ASP.NET , exact pentru care sunt folosite. Ele vă permit, de asemenea, să controlați pielea, ceea ce înseamnă să le dați un set de atribute implicite.

0
adăugat

În Asp.net 3.5, ar trebui să puteți seta eticheta Link în antet ca etichetă de server. Apoi, în codebehind puteți seta proprietatea href pentru elementul de legătură, pe baza unei valori cookie, a unui șir de interogări, a datei etc.

În fișierul aspx:

<head>
  <link id="linkStyles" rel="stylesheet" type="text/css" runat="server" />
</head>

Și în codul din urmă:

protected void Page_Load(object sender, EventArgs e) {
  string stylesheetAddress = // logic to determine stylesheet
  linkStyles.Href = stylesheetAddress;
}
0
adăugat
Multumesc, nu v-ati gandit la asta, dar .NET nu se juca frumos cu aceasta: <link rel = "stylesheet" href = "/ style.css <% = VersionQueryString%>" type = "text / css"
adăugat autor Aaron, sursa

Aș face următoarele:

www.website.com/?stylesheet=new.css

Apoi, în codul ASP.NET:

if (Request.Querystring["stylesheet"] != null) {
    Response.Cookies["stylesheet"].Value = Request.QueryString["stylesheet"];
    Response.Redirect();
}

Apoi, unde definiți foile de stil:

if (Request.Cookies["stylesheet"] != null) {
    // New Stylesheet
} else {
    // Default
}
0
adăugat
ce faceți atunci când utilizatorul navighează către o altă pagină? vine de la o legătură exterioară?
adăugat autor Jason, sursa

Aș sugera stocarea selecției foilor de stil în sesiune, astfel încât nu trebuie să vă bazați pe cheia de interogare care este prezentă tot timpul. Puteți verifica sesiunea din Page_Load și adăugați referința corespunzătoare pentru foile de stil. Se pare că aceasta este o situație temporară / de dezvoltare, deci mergeți cu ceea ce este ușor și care funcționează.

if (!String.IsNullOrEmpty(Request.QueryString["css"]))
  Session.Add("CSS",Request.QueryString["css"]);
0
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com