2009-03-19 6 views
4

Je suis surpris qu'il n'y ait pas de "text-decoration: reverse" en CSS car il semble très difficile d'utiliser JavaScript. C'EST À DIRE. définir la couleur de premier plan et de l'arrière-plan de l'élément à l'arrière-plan et au premier plan du parent, respectivement.CSS text-decoration: reverse

Je techniques JavaScript pour remarquer que here

Certes, ce n'est pas si compliqué que ça?

+3

Légèrement hors-sujet, mais un meilleur nom pour cela pourrait être "inverser" plutôt que "inverser". –

+0

Il est appelé "vidéo inverse" à partir des jours de terminaux et de malédictions. D'accord, c'est déroutant en ce sens que vous pourriez vous attendre à ce que les personnages eux-mêmes soient inversés. –

Répondre

0

Bien que vous puissiez essayer d'utiliser jQuery, c'est un moyen plus simple d'obtenir le même résultat que le javascript normal.

5

Qu'est-ce que vous appelez rétabli? Voulez-vous définir l'arrière-plan comme couleur de premier plan et vice versa? (Peut-être qu'il est un commentaire stupide, mais s'il est pas une décoration est-il?)

Quoi qu'il en soit, vous êtes sur le point d'avoir un combat entre DRY et MVC ici:

  • soit vous déclarez une nouvelle Classe CSS chaque fois que vous voulez faire cela. C'est redondant et douloureux, mais vous en effet séparé le style du code.

En général:

.mydiv { 
    background-color: blue; 
    color: red; 
    font-family:...; 
    (...) 
} 


.mydiv:hover { 
    color: red; 
    background-color: blue; 
} 
  • une autre option est de le faire par javascript. Proxify a suggéré d'utiliser jQuery.

    Le résultat serait probablement ressembler à ça ... (non testé)

$(".invert").map(function (el) { 
     var color = el.css("color"); 
     var bgcolor = el.css("background-color"); 
     el.css("color", bgcolor).css("background-color",color); 
    })
2

Le concept de « marche arrière » arrière-plan et le style avant-plan du texte n'est pas facile à mettre en œuvre dans le navigateur. Si l'on autorise votre "text-decoration: reverse" dans le navigateur, l'image de fond devrait-elle aussi s'inverser sur les textes? Ce n'est pas ce qu'un navigateur peut aujourd'hui dessiner.

Considérez maintenant les transparents et la valeur alpha. Il y a beaucoup d'aspects qui rendent votre idée de «renversement» impraticable à mettre en application en général.

+0

Un bon point. Je ne fais que considérer les balises imbriquées sur du texte, et donc échanger les couleurs de premier plan et d'arrière-plan est très bien là. – pixelbeat

-1

Bien qu'il n'y ait pas de CSS disponible pour inverser le texte, il existe un élément html appelé bdo (bi-directional override) et le sélecteur dir = "rtl" et avec lui vous pouvez inverser le texte.

Vous pouvez inverser le texte dans votre page

Si vous puis donnez-lui une classe, vous pouvez ajouter des éléments de style supplémentaires, par exemple, et vous aurez besoin d'afficher le code source de cette page " lisez "ce que j'ai fait. (P.S. vous n'avez pas besoin d'inclure l'élément , qui est là pour différencier le code du reste de ce texte de présentation ...)

You can reverse the text in your page

.reverso { color: #cc3300; font-size: 200%; }

et ainsi de suite.

J'espère que aide (O:

0

Que diriez-vous quelque chose comme:

var bgColor = "#123456"; 
var textColor = bgColor.match(/^#([0-8][0-9a-fA-F])+$/g) == null ? "#000000" : "#ffffff"; 

Il utilise le texte de couleur blanche pour les couleurs de bacground noir et texte noir Couleur pour les couleurs d'arrière-plan plus claires