Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

problème de priorité avec CSS et StylesheetTheme

6 réponses
Avatar
Bob
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css, style
locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet" type="text/css"
/>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme" AutoEventWireup="false"
CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob

6 réponses

Avatar
Patrice
Le plus simple est de faire un "view source" pour voir ce que donne le code
HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la balise
concerné qui a donc précédence sur la feuille de style ou le nom de
classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css, style
locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme" AutoEventWireup="false"
CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob



Avatar
Bob
Merci de répondre.
Lle code html donne:
<span id="Label2" class="rouge"
style="color:Green;font-weight:bold;">ok</span>

Donc Green est exécuté après rouge?

Mais que veut-on dire alors dans la littérature avec l'ordre d'exécution et
que CSS styles ont priorité sur StyleSheetTheme?

Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Le plus simple est de faire un "view source" pour voir ce que donne le
code HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la balise
concerné qui a donc précédence sur la feuille de style ou le nom de
classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css, style
locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme" AutoEventWireup="false"
CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob







Avatar
Patrice
C'est bien cela. Le navigateur applique les feuilles de style externe, les
styles issues de la classe puis ceux directement indiqués dans la balise
(donc ici le green).

Je pense qu'il faut comprendre "pour une même technique" Je veux dire que le
fichier skin du stylesheettheme génère un attribut "style" qui sélectionne
le vert. Cet attribut ne sera donc pas supplanté par une technique moins
forte comme la définition d'un nom de classe.

Par contre, si la page elle-même contient un également un forecolor, alors
cette définition supplantera la couleur du stylesheettheme car elle génère
elle-aussi la couleur dans l'attribut "style".

---
Patrice

"Bob" a écrit dans le message de news:
eNP%
Merci de répondre.
Lle code html donne:
<span id="Label2" class="rouge"
style="color:Green;font-weight:bold;">ok</span>

Donc Green est exécuté après rouge?

Mais que veut-on dire alors dans la littérature avec l'ordre d'exécution
et que CSS styles ont priorité sur StyleSheetTheme?

Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Le plus simple est de faire un "view source" pour voir ce que donne le
code HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la balise
concerné qui a donc précédence sur la feuille de style ou le nom de
classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css, style
locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme" AutoEventWireup="false"
CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob











Avatar
Bob
Merci pour cette explication.
Encore une chose, si vous le voulez bien.

Que veut-on dire alors dans la littérature par l'ordre d'exécution selon
lequel les CSS styles ont priorité sur StyleSheetTheme? Je pensais que mon
problème en était uin exemple.

Les stylesheetThemes ne concernent que les controls serveur, donc ne sont pa
en concurrence avec les controls HTML. Donc il doit s'agir d'un style CSS
appliqués à un control serveur qui est en concurrence avec un style du
Stylesheettheme du même control serveur (donc mon problème, je pense .).

Pourriez-vous me donner un exemple de l'ordre d'exécution selon lequel les
CSS styles ont priorité sur StyleSheetTheme?
Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
C'est bien cela. Le navigateur applique les feuilles de style externe, les
styles issues de la classe puis ceux directement indiqués dans la balise
(donc ici le green).

Je pense qu'il faut comprendre "pour une même technique" Je veux dire que
le fichier skin du stylesheettheme génère un attribut "style" qui
sélectionne le vert. Cet attribut ne sera donc pas supplanté par une
technique moins forte comme la définition d'un nom de classe.

Par contre, si la page elle-même contient un également un forecolor, alors
cette définition supplantera la couleur du stylesheettheme car elle génère
elle-aussi la couleur dans l'attribut "style".

---
Patrice

"Bob" a écrit dans le message de news:
eNP%
Merci de répondre.
Lle code html donne:
<span id="Label2" class="rouge"
style="color:Green;font-weight:bold;">ok</span>

Donc Green est exécuté après rouge?

Mais que veut-on dire alors dans la littérature avec l'ordre d'exécution
et que CSS styles ont priorité sur StyleSheetTheme?

Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Le plus simple est de faire un "view source" pour voir ce que donne le
code HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la balise
concerné qui a donc précédence sur la feuille de style ou le nom de
classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css, style
locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme"
AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2"
%>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob















Avatar
Patrice
Je crains que cela ne soit guère plus clair pour moi. Déjà rien que "les
styles CSS" est un peu vague comme cela peut-être appliqué de plusieurs
façons (notamment feuille de style et/ou attribut style) qui n'auront pas le
même poids donc il est possible que la doc ne soit pas assez précise...

Pour moi, un exemple serait un ForeColor dans la page et un StyleSheetTheme
(le forecolor dans la page devrait avoir la priorité sur le StyleSheetTheme)
les deux utilisant la même technique (attribut style) pour injecter la
proprpiété CSS dans le code HTML final...

Eventuellement , avez-vous l'adresse de la page correspondante qui mentionne
ceci que je puisse voir quelle est la présentation exacte faite par la
documentation ce ce point ?

Accessoirement, de mon côté je n'utilise pas le StyleSheetTheme mais la
feuille CSS unique que j'ai mise dans le thème et qui est automatiquement
référencée.
---
Patrice


"Bob" a écrit dans le message de news:

Merci pour cette explication.
Encore une chose, si vous le voulez bien.

Que veut-on dire alors dans la littérature par l'ordre d'exécution selon
lequel les CSS styles ont priorité sur StyleSheetTheme? Je pensais que mon
problème en était uin exemple.

Les stylesheetThemes ne concernent que les controls serveur, donc ne sont
pa en concurrence avec les controls HTML. Donc il doit s'agir d'un style
CSS appliqués à un control serveur qui est en concurrence avec un style du
Stylesheettheme du même control serveur (donc mon problème, je pense .).

Pourriez-vous me donner un exemple de l'ordre d'exécution selon lequel
les CSS styles ont priorité sur StyleSheetTheme?
Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
C'est bien cela. Le navigateur applique les feuilles de style externe,
les styles issues de la classe puis ceux directement indiqués dans la
balise (donc ici le green).

Je pense qu'il faut comprendre "pour une même technique" Je veux dire que
le fichier skin du stylesheettheme génère un attribut "style" qui
sélectionne le vert. Cet attribut ne sera donc pas supplanté par une
technique moins forte comme la définition d'un nom de classe.

Par contre, si la page elle-même contient un également un forecolor,
alors cette définition supplantera la couleur du stylesheettheme car elle
génère elle-aussi la couleur dans l'attribut "style".

---
Patrice

"Bob" a écrit dans le message de news:
eNP%
Merci de répondre.
Lle code html donne:
<span id="Label2" class="rouge"
style="color:Green;font-weight:bold;">ok</span>

Donc Green est exécuté après rouge?

Mais que veut-on dire alors dans la littérature avec l'ordre d'exécution
et que CSS styles ont priorité sur StyleSheetTheme?

Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Le plus simple est de faire un "view source" pour voir ce que donne le
code HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la
balise concerné qui a donc précédence sur la feuille de style ou le nom
de classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css,
style locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green" ></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme"
AutoEventWireup="false" CodeFile="Default2.aspx.vb"
Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob



















Avatar
Bob
J'ain trouvé cela dans un livre Beginning ASP.NET 2.0 de Wrox
(www.wrox.com).
Mais laissez ..
.

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Je crains que cela ne soit guère plus clair pour moi. Déjà rien que "les
styles CSS" est un peu vague comme cela peut-être appliqué de plusieurs
façons (notamment feuille de style et/ou attribut style) qui n'auront pas
le même poids donc il est possible que la doc ne soit pas assez précise...

Pour moi, un exemple serait un ForeColor dans la page et un
StyleSheetTheme (le forecolor dans la page devrait avoir la priorité sur
le StyleSheetTheme) les deux utilisant la même technique (attribut style)
pour injecter la proprpiété CSS dans le code HTML final...

Eventuellement , avez-vous l'adresse de la page correspondante qui
mentionne ceci que je puisse voir quelle est la présentation exacte faite
par la documentation ce ce point ?

Accessoirement, de mon côté je n'utilise pas le StyleSheetTheme mais la
feuille CSS unique que j'ai mise dans le thème et qui est automatiquement
référencée.
---
Patrice


"Bob" a écrit dans le message de news:

Merci pour cette explication.
Encore une chose, si vous le voulez bien.

Que veut-on dire alors dans la littérature par l'ordre d'exécution selon
lequel les CSS styles ont priorité sur StyleSheetTheme? Je pensais que
mon problème en était uin exemple.

Les stylesheetThemes ne concernent que les controls serveur, donc ne sont
pa en concurrence avec les controls HTML. Donc il doit s'agir d'un style
CSS appliqués à un control serveur qui est en concurrence avec un style
du Stylesheettheme du même control serveur (donc mon problème, je pense
.).

Pourriez-vous me donner un exemple de l'ordre d'exécution selon lequel
les CSS styles ont priorité sur StyleSheetTheme?
Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
C'est bien cela. Le navigateur applique les feuilles de style externe,
les styles issues de la classe puis ceux directement indiqués dans la
balise (donc ici le green).

Je pense qu'il faut comprendre "pour une même technique" Je veux dire
que le fichier skin du stylesheettheme génère un attribut "style" qui
sélectionne le vert. Cet attribut ne sera donc pas supplanté par une
technique moins forte comme la définition d'un nom de classe.

Par contre, si la page elle-même contient un également un forecolor,
alors cette définition supplantera la couleur du stylesheettheme car
elle génère elle-aussi la couleur dans l'attribut "style".

---
Patrice

"Bob" a écrit dans le message de news:
eNP%
Merci de répondre.
Lle code html donne:
<span id="Label2" class="rouge"
style="color:Green;font-weight:bold;">ok</span>

Donc Green est exécuté après rouge?

Mais que veut-on dire alors dans la littérature avec l'ordre
d'exécution et que CSS styles ont priorité sur StyleSheetTheme?

Merci

"Patrice" <http://www.chez.com/scribe/> schreef in bericht
news:
Le plus simple est de faire un "view source" pour voir ce que donne le
code HTML généré.

A mon avis le "forecolor" green génère un attribut "style" sur la
balise concerné qui a donc précédence sur la feuille de style ou le
nom de classe...


"Bob" a écrit dans le message de news:
eq7wj$
Bonjour,

J'ai lu que StylesheetTheme est supplanté par tout le reste (Css,
style locale et theme).
Cependant, ça ne marche pas içi.

le fichier rouge.css contient ceci:

.rouge
{
color:Red;
}

le fichier aspx file:
------------------
<head runat="server">
<link href="App_Themes/montheme/rouge.css" rel="stylesheet"
type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

Ceci marche: 'label' est rouge.

---------------------------------------------------

Maintenant avec StyleSheetTheme:

Dans la directory 'montheme' il ya un fichier vert.skin qui contient:
<asp:Label SkinID="lightgreen" runat="server" Text="label"
ForeColor="lightgreen" ></asp:Label>
<asp:Label runat="server" Text="label" ForeColor="green"
></asp:Label>

aspx file:
--------
<%@ Page Language="VB" StylesheetTheme="mytheme"
AutoEventWireup="false" CodeFile="Default2.aspx.vb"
Inherits="Default2" %>

<head runat="server"></head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" CssClass="rouge"
Text="Label"></asp:Label>
</form>
</body>

En prinipe, cela devrait être rouge, mais ç'est toijours vert !!

Quelqu'un peut-il m'expliquer pourquoi la priorité ne joue pas?

Merci
Bob