- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Wed, 23 Dec 2009 17:09:40 -0600
- To: asaf <asaf@freeallweb.org>
- Cc: www-style list <www-style@w3.org>
On Wed, Dec 23, 2009 at 2:44 AM, Asaf Chertkoff <asaf@freeallweb.org> wrote: > Hi everybody, > I thought of somthing - a lot of times i found my self writing the exect > css attributes for several elements, with the different of only the name > of the element background image, like this: Typically, the way to resolve this is by using a class or somehow otherwise targetting all of the similar elements together, and applying the common styling through that. That is, do something like this: .major-title { margin: 20px 10px 0 0; float: right; color: red; } #ff-title { background: url("images/ff-title.png") 0 0 no-repeat; } #clouds-title { background: url("images/clouds-title.png") 0 0 no-repeat; } #buildings-title { background: url("images/buildings-title.png") 0 0 no-repeat; } > anyhow, what i want to ask is if there is a simple way of doing this: > > #$value=[ff-title,building-title,...,cloud-title] { > margin:20px 10x 0 0; > float: right; > color: red; > background:url("images/'$value'.png") 0 0 no-repeat; > } If you do need to do something like this - apply nearly exactly similar styling to a large group of things that differ only by name - typically using a server-side programming language is the way to go. For example, if you used PHP the file would look something like this: <?php header("Content-Type: text/css"); $titles = array("ff-title","building-title","cloud-title"); foreach($titles as $title) { echo "#$title { background: url('images/$title.png'); }\n"; } ?> Problem solved, and since you have a full programming language at your disposal, you can do much more complex things as well. Writing CSS programmatically has served me well in the past. ~TJ
Received on Wednesday, 23 December 2009 23:10:09 UTC