Solved

Is there a professional way to share class selectors across multiplie pages?

Posted on 2014-09-18
5
104 Views
Last Modified: 2014-09-19
When one class is used on multiple pages and I want to make a change to that class, I don't know how that will effect the other pages, how many pages, which pages, it becomes complicated. I have to search painstakingly through every page looking for the same class name.

I would prefer to just share a class selector across one page only and have a different class name for each page even if there is duplicate css code, at leased I can find the elements in just one page and be certain I did not mess up another page.

I only have one css page and I group my css selectors by the page they refer to so they are easier to find, I don't have to scroll up and down the css page as much. For example,

account.php -  all class names start with a.
center.php -  all class names start with c.
upload.php -  all class names start with u.

.a-form-outer {
	font-weight: bold;
	margin: 100px auto 0px auto;
}

.a-wall-inner {
	margin: 100px auto 0px auto;
}

.c-page-lock {
	margin-left: 20px;
}

.c-no-nav {
	margin-left: 10px;
	width: 602px;
}

.u-logo {
	display: block;
	margin: 10px 0px 30px 10px;
	width: 170px;
}
	
.u-logo:hover {
	background-color: #FFF;
}

Open in new window


Does someone know if there is only one professional way to do this?
Do you know how google, yahoo or any major site handles this?
Thanks.
0
Comment
Question by:kadin
  • 2
  • 2
5 Comments
 
LVL 58

Expert Comment

by:Gary
Comment Utility
Add another class to the element on the page where the changes should be and add the new css for that element.
There is no way to say only apply this class on this page.
0
 

Author Comment

by:kadin
Comment Utility
Thanks for your response.

I am not sure we are understanding each other. What I am trying to find out is not what is a fix for one element with a shared CSS. Because that fix would be after the fact and would require me to search through every page of the site looking for any and all classes using that same class name to determine if and how my change to that CSS is going to effect the other elements sharing that class.

I am trying to find out what strategy the pros at google, yahoo, facebook etc. use when designing their code. Do they share their classes with the whole website or do they share classes by website region, or by page.

From my perspective it seems to be a trade off between (having some duplicated code in my CSS file [same code, different class names], but easier to maintain with greater certainty that I don't break another part of my site)  vs. (keeping my CSS file as short as possible [I guess for efficiency] by using a one class fits all strategy).

I try to follow Google's style guide but I could not find anything pertaining to an overall strategy.
http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml
0
 
LVL 58

Assisted Solution

by:Gary
Gary earned 250 total points
Comment Utility
When you code a class it is website wide, if you need to style something differently on one page etc then you add another class
0
 
LVL 53

Accepted Solution

by:
COBOLdinosaur earned 250 total points
Comment Utility
A class represents a particular presentation format that should apply site wide.  If you are concerned about a change causing problems on other pages, it is because you have some kind of non-consistent design format where chaos reigns.

Either use another class or use an id.  As for how big sites and other professionals do things.  They don't just declare properties for a class.  The document the use of the class so there should not be a conflict. creating new classes for each page and keeping a monolithic stylesheet across the whole site will just bloat the pages and eventually it will end up a collection of chaotic junk.

If you are not interested in doing it right with documentation that defines the role of a given class, then create a file or DB table to keep track of where you are using classes.

Cd&
0
 

Author Closing Comment

by:kadin
Comment Utility
Thanks for your help.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
This article describes how to create custom column layout styles for Bootstrap. The article uses 5 columns to illustrate the concept, but the principle can be extended to any number of columns.
In this tutorial viewers will learn how to define a gradient in CSS. Create a new HTML document with an internal stylesheet.: Create a div in CSS and name it Gradient. Define the background as "linear-gradient(to right, #ee3668, black)". Ensure you …
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now