Je résous habituellement mes doutes de programmation avant que je fantasme de faire une question dans SO, mais c'est la première fois que je n'arrive pas à trouver la réponse .... donc ... voici ma première question sur le site après des heures d'essayer de résoudre ce problème:CSS - Comment faire: "ONE-TIME CSS EXPRESSION" dans css? (par exemple max-height/max-width pour IE)
Comment avoir une expression css unique?
POURQUOI expression unique ?: si nous faisons quelques tests comme (attention, provoquer IE6 & IE7 affichera l'alerte encore et encore ...):
<div style="height:expression(alert('this alert repeats itself'));">
content with infinite alert...
</div>
l'expression est évaluée jusqu'à la fin des temps ... c'est pourquoi je voudrais comprendre une façon de le faire arriver une seule fois, comme pour écraser le style lui-même comme le 2 ° article tente d'expliquer, mais je ne peux pas vraiment mettez-le au travail ....
que nous pouvons lire dans cet article:
http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_6/
expressions se répètent et qui pourraient être un problème de performance ...
alors cet article:
http://vacskamati.blogspot.com/2008/10/one-time-execution-of-ie-css.html
ce qui est génial parce que c'est le seul que j'ai trouvé ies pour résoudre ceci ... mais je ne peux pas sembler le faire correctement ....
Ce que j'ESSAIE FAIRE ... émule les "max-width" et "max-height" dans IE ... Je sais FF et evyerthing autre peut le faire directement avec CSS .. Je dois le faire en quelque sorte dans IE6 et IE7 ...
Je sais que je pourrais utiliser JS à l'extérieur, mais comme vous le ferez voir dans mon code ... Je vais essayer de mettre des valeurs php ... donc j'ai besoin d'avoir un peu de contrôle directement dans l'expression pour qu'il ne s'exécute automatiquement qu'une seule fois et que je n'aie pas besoin d'écrire des fonctions JS ailleurs. ..Je pense que cela devrait être très simple ... mais je peux juste l'obtenir ... de toute façon ... mon code est quelque chose liek cela ....:
<div id="div_id"
style="
max-height:<?php echo $height_var; ?>;
-$height:
expression(
if(document.getElementById('div_id').offsetHeight><?php echo $height_var; ?>){
document.getElementById('div_id').style.height = '400px'
}
);
overflow:scroll;
" >
content--lbalbalbalbalblablablalb
</div>
Sooo ... mmm c'est l'idée de base ... J'ai déjà essayé différentes façons dont l'article ci-dessus tente d'expliquer, j'ai déjà essayé d'envoyer un mail au mec, mais en attendant la réponse possible , J'expose ce problème à la communauté SO parce qu'il est très étrange de ne pas pouvoir trouver une réponse pour quelque chose que je pense pourrait être simple ...
Donc pour l'instant ... pour autant que je connaisse les répétitions EXPRESSION lui-même .. et je reçois le SCROLL si le contenu original est plus grand que 400px .... mais je sais qu'il se répète cause ... si j'envoie un "alerte()" il apparaît tout le temps .... donc. ... encore une fois COMMENT PUIS-JE OBTENIR UNE EXPRESSION UNE FOIS ... donc IE ne l'évalue pas mousemove ou toute action ....
Merci d'avance =) (et désolé pour mon code en retrait bizarre ...= P)
Pardonnez mon ignorance, mais pourquoi '- $ height: 'au lieu de' height: '? – shanethehat
ah, ouais, mmm, j'ai lu dans les commentaires du deuxième article, que l'utilisation du hack - $ était que IE6 et IE7 seulement lisent l'expression = P, mais je suppose que c'est un peu optionnel? – Edward
Qu'espérez-vous que le contenu occupe plus d'espace que l'élément parent? – Dor