Je suis le type de personne qui aime faire beaucoup de projets surtout si cela implique seulement JavaScript puisque c'est mon point fort.
J'ai pensé à une petite idée amusante. Écrire des petits morceaux de CSS avec JavaScript. Ces éléments CSS pourraient ensuite être utilisés dans un Blob ou implémentés dans la page web d'une autre manière.
Most of the time, I do projects just for FUN and for build up in experience.
Essayons de nous faire une idée plus précise de ce avec quoi nous travaillons. L'une de ces feuilles de style JavaScript pourrait ressembler à ceci :
var sheet = {
"h1": {
"font-size": "24px",
"color": "blue",
children: {
"a": {
"font-size": "15px"
}
}
},
"a": {
color: "red"
}
};
Cela reviendrait :
h1{font-size:24px;color:blue}h1 a{font-size:15px}a{color:red}
Notez que les children
dans le cadre de la h1
élément.
C'est ma façon d'imbriquer, en faisant du h1 a
.
Ma question est cependant la suivante : comment puis-je créer une imbrication continue afin d'obtenir quelque chose comme.. :
"h1 div span a"
Cela signifie que chaque enfant imbriqué devra être en mesure d'utiliser la fonction children
propriété.
Le script que j'ai jusqu'à présent est le suivant (appartient à la variable sheet
).
var to = "";
for (var el in sheet) {
var props = [];
for (var prop in sheet[el]) {
if(prop != "children") {
props.push(prop + ":" + sheet[el][prop]);
}
}
to += el + "{" + props.join(";") + "}";
//----
if (sheet[el].children) {
for (var el2 in sheet[el].children) {
var props = [];
for (var prop in sheet[el].children[el2]) {
props.push(prop + ":" + sheet[el].children[el2][prop]);
}
to += el + " " + el2 + "{" + props.join(";") + "}"
}
}
//----
}
Les sections entre les commentaires sont le code que j'utilise pour l'imbrication en une seule fois.
Je ne suis pas sûr qu'il soit très difficile de l'ajouter. Mais je comprends que ce ne serait probablement pas facile.
Mon exemple complet est ici : http://jsfiddle.net/shawn31313/2tfnz/1