web-dev-qa-db-fra.com

Supprimer la position: attribut absolu en ajoutant css

J'ai un élément html avec id = "# item" J'ai un événement d'interface utilisateur qui modifie par programmation le CSS pour "#item" en ajoutant la classe ".new" à "#item". Au départ, je veux que "#item" ait "position: absolue". Cependant, une fois que la classe ".new" est ajoutée à "#item", la seule façon d'obtenir la mise en forme que je veux dans Chrome est de supprimer la position: absolue du CSS pour "#item" ". Je voudrais accomplir cela à la place via le css dans" .new ", cependant dans Chrome inspector mes options pour changer l'attribut de position sont

static
absolute
relative
initial 
inherit
fixed

Pour autant que je sache, aucun de ces éléments ne fait la même chose que la suppression de "position: absolue" dans Chrome. Quelqu'un peut-il suggérer quoi mettre dans le CSS pour que ".new" revienne à le positionnement par défaut css.

16
Ben Pearce

http://jsbin.com/ICeweli/1/

#test {
  position: absolute;
}

#test {
  position: static;
}

Retirez l'un ou l'autre pour voir la différence.

33
user1508519

La spécification CSS2 indique que la valeur initiale position d'un élément est static.

Donc, dans votre cas, si vous ne pouvez pas réellement supprimer une déclaration, réinitialisez-la à la "valeur par défaut" qui est static.

#item {
    position: static;
}
15
Sébastien