Page 1 sur 1

DIV sans style ?

Publié : 10 mai 2006, 13:44
par Pierre123
Bonjour,
Je souhaiterais savoir si il est possible de créer un bloc <div> dans une page HTML en faisant en sorte qu'aucun style ne soit appliqué à ce bloc ?
Merci de vos réponses !
Cordialement.
Pierre.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 10 mai 2006, 13:48
par Asumbaa
Salut,

Oui, bien sûr.
Il faut que tu repères tous les éléments parents portant des styles hérités par ta div et que tu les annules dans ta CSS.

Il faut aussi penser à annuler les styles par défaut comme les marges externes et internes

Code : Tout sélectionner

padding: 0;
margin: 0;
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 10 mai 2006, 17:24
par Pierre123
Euh c'est compliqué car j'ai 500 lignes de CSS...
En fait, c'est parce que le DIV va contenir du texte HTML récupérée dans une BDD et je ne veux pas que celui-ci soit mis en forme!

Publié : 10 mai 2006, 17:47
par Asumbaa
Pierre123 a écrit :le DIV va contenir du texte HTML récupérée dans une BDD et je ne veux pas que celui-ci soit mis en forme!
Tu ne veux pas prendre en compte d'éventuels styles qui seraient directement dans les balises HTML du contenu de ta BDD ?
Ou tu ne veux carrément pas interpréter le HTML de ce qui sort de ta BD ?

Pour le premier point, je ne vois pas dans l'immédiat. Tu peux toujours indiquer les styles les plus importants avec !important, mais si tu as 500 trucs à spécifier, ça va être long ^^

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 11 mai 2006, 13:50
par papounet
Bonjour
Pourquoi tu utilise pas la balise <pre> au lieu d'un <div> ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 12 mai 2006, 08:37
par calimo
Juste pour préciser que par défaut, un <div> n'a aucun style. C'est uniquement en lui appliquant des css qu'on peut faire qu'il ne soit pas totalement neutre :roll:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20051010 Firefox/1.0.7 (Ubuntu package 1.0.7)

Publié : 12 mai 2006, 10:40
par Asumbaa
calimo a écrit :par défaut, un <div> n'a aucun style.
Ah ? Certains navigateurs ne lui mettent-ils pas une marge verticale ? Il me semblait...

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 12 mai 2006, 12:48
par calimo
Normalement pas (à moins bien sûr que tu ne l'ait appliqué en CSS par quelque chose comme un sélecteur universel ou autre). :wink:

Publié : 12 mai 2006, 13:05
par martin
calimo a écrit :Juste pour préciser que par défaut, un <div> n'a aucun style. C'est uniquement en lui appliquant des css qu'on peut faire qu'il ne soit pas totalement neutre :roll:
oui, mais il va hériter de propriétés parentes...

Pierre123 voudrait le contraire justement...Que certains div perdent toute information.
J'avoue que à brûle pourpoint je ne vois pas de solution simple.
Définir un faux "brut" css, en copiant par exemple la feuille de style par défaut de firefox, et en rajoutant des propriétés à 'none', pourrait être une solution, mais je suis pas sûre qu'elle soit légère.
Asumbaa a écrit :Ah ? Certains navigateurs ne lui mettent-ils pas une marge verticale ? Il me semblait...
Les navigateurs ont en fait une feuille de style par défaut, et ils ont une certaine latitude sur certaines propriétés par défaut. D'ou des différences entre navigateurs.
Je me rappelle d'ailleurs avoir croisée une feuille de style de Tantek Celik, tentant de rendre "neutre" une page, pour partir sur une même base entre navigateurs, c'était pas bête.

Publié : 12 mai 2006, 13:43
par Pierre123
Pierre123 voudrait le contraire justement...Que certains div perdent toute information.
Exact ! :wink:
Définir un faux "brut" css, en copiant par exemple la feuille de style par défaut de firefox, et en rajoutant des propriétés à 'none', pourrait être une solution, mais je suis pas sûre qu'elle soit légère.
Intéressant, mais comment faire ? :roll:

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3

Publié : 12 mai 2006, 14:47
par martin
Tu fais une class 'brut'.

Tu regardes la liste des propriétés CSS, tu prends toutes les propriétés qui ont 'yes' dans la colonne 'Inherited?', et tu leur affecte la valeur par défaut indiqué dans la colonne idoine.

Voilà le début de ce à quoi çà ressemblerait :

Code : Tout sélectionner

.brut {
  /* pas hérité, mais fixé quand même */
  background-color: white;

  /* propriétés qui héritent, mis à leur valeurs par défaut */
  border-spacing: 0;
  border-collapse: separate;
  caption-side: top;
  color: black;
  cursor : auto;
  direction: ltr;
  elevation : level;
  empty-cells: show;
  font-family: none; /* cette valeur n'existe pas, mais elle réinitialise */
  font-size: medium;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
...etc
}
puis pour certaines balises, tu précise, en t'inspirant de la feuille css par défaut de firefox.
exemple:

Code : Tout sélectionner

.brut pre {
  white-space: pre;
}
Tu vérifies et tu affines, il te faudra peut être des !important par ci par là,...

Attention à bien mettre cette feuille de style en dernier, pour éviter qu'elle ne soit pas écraser par d'autre.
Tu peux ensuite crée un <div class='brut'>.

dis nous si çà marche bien, voire même le résultat, çà pourrait servir à d'autres ;) .
Bon courage.