Friday, June 16, 2017

Posted by beni June 16, 2017

A basic Guide To Css


Hello Everyone Welcome To Umair Hack. I Am Rhutik Giradkar From Techmadhunter.com Today This Is My First Post On Umair hack Today I will Tell You About Css((cascading style sheet))


Chapter#1: - Introduction to CSS
A CSS (cascading style sheet) file allows you to separate your web sites (X)HTML content from its style. As always you use your (X)HTML file to arrange the content, but all of the presentation (fonts, colors, background, borders, text formatting, link effects & so on...) are accomplished within a CSS.
At this point you have some choices of how to use the CSS, either internally or externally.
Internal Stylesheet First we will explore the internal method. This way you are simply placing the CSS code within the <head></head> tags of each (X)HTML file you want to style with the CSS. The format for this is shown in the example below.
With this method each (X)HTML file contains the CSS code needed to style the page. Meaning that any changes you want to make to one page, will have to be made to all. This method can be good if you need to style only one page, or if you want different pages to have varying styles.
External Stylesheet Next we will explore the external method. An external CSS file can be created with any text or HTML editor such as "Notepad" or "Dreamweaver". A CSS file contains no (X)HTML, only CSS. You simply save it with the .css file extension. You can link to the file externally by placing one of the following links in the head section of every (X)HTML file you want to style with the CSS file.
Or you can also use the @import method as shown below
<head><title><title><style type="text/css"> CSS Content Goes Here </style></head><body>
<link rel="stylesheet" type="text/css" href="Path To stylesheet.css" />
Either of these methods are achieved by placing one or the other in the head section as shown in example below.
By using an external style sheet, all of your (X)HTML files link to one CSS file in order to style the pages. This means, that if you need to alter the design of all your pages, you only need to edit one .css file to make global changes to your entire website.
Here are a few reasons this is better.
Easier Maintenance Reduced File Size Reduced Bandwidth Improved Flexibility
Are you getting the idea? Its really cool.
Cascading Order In the previous paragraphs, I have explained how to link to a css file either internally or externally. If you understood, than I am doing a good job. If not dont fret, there is a long way to go before we are finished. Assuming you have caught on already, you are probably asking, well can I do both? The answer is yes. You can have both internal, external, and now wait a minute a third way? Yes inline styles also.
Inline Styles I have not mentioned them until now because in a way they defeat the purpose of using CSS in the first place. Inline styles are defined right in the (X)HTML file along side the element you want to style. See example below.
<style type="text/css">@import url(Path To stylesheet.css)</style>
<head><title><title><link rel="stylesheet" type="text/css"href="style.css" /></head><body>
or
<head><title><title><style type="text/css"> @import url(Path To stylesheet.css) </style></head><body>
<p style="color: #ff0000;">Some red text</p>
Some red text
Inline styles will NOT allow the user to change styles of elements or text formatted this way
So, which is better? So with all these various ways of inserting CSS into your (X)HTML files, you may now be asking well which is better, and if I use more than one method, in what order do these different ways load into my browser?
All the various methods will cascade into a new "pseudo" stylesheet in the following order:
1. Inline Style (inside (X)HTML element) 2. Internal Style Sheet (inside the <head> tag) 3. External Style Sheet
As far as which way is better, it depends on what you want to do. If you have only one file to style then placing it within the <head></head> tags (internal) will work fine. Though if you are planning on styling multiple files then the external file method is the way to go.
Choosing between the <link related=>& the @import methods are completely up to you. I will mention that the @import method may take a second longer to read the CSS file in Internet Explorer than the <link related=> option. To combat this see Flash of unstyled content
Users with Disabilities The use of external style sheets also can benefit users that suffer from disabilities. For instance, a user can turn off your stylesheet or substitute one of there own to increase text size, change colors and so on. For more information on making your website accessible to all users please read Dive into accessibility
Power Users Swapping stylesheets is beneficial not only for users with disabilities, but also power users who are particular about how they read Web documents.
Browser Issues You will discover as you delve farther into the world of CSS that all browsers are not created equally, to say the least. CSS can and will render differently in various browsers causing numerous headaches.
Chapter# 2: - CSS Syntax
The syntax for CSS is different than that of (X)HTML markup. Though it is not too confusing, once you take a look at it. It consists of only 3 parts.
The selector is the (X)HTML element that you want to style. The property is the actual property title, and the value is the style you apply to that property.
Each selector can have multiple properties, and each property within that selector can have independent values. The property and value are seperated with a colon and contained within curly brackets. Multiple properties are seperated by a semi colon. Multiple values within a property are sperated by commas, and if an individual value contains more than one word you surround it with quotation marks. As shown below.
As you can see in the above code I have seperated the color from the font-family with a semi-colon, seperated the various fonts with commas and contained the "Trebuchet MS" within quotations marks. The final result sets the body color to light grey, and sets the font to ones that most users will have installed on there computer.
I have changed the way I layout my code, but you can arrange it in one line if you choose. I find that it is more readable if I spread each property to a seperate line, with a 2 space indention.
Inheritance When you nest one element inside another, the nested element will inherit the properties assigned to the containing element. Unless you modify the inner elements values independently.
For example, a font declared in the body will be inherited by all text in the file no matter the containing element, unless you declare another font for a specific nested element.
Now all text within the (X)HTML file will be set to Verdana.
If you wanted to style certain text with another font, like an h1 or a paragraph then you could do the following.
selector { property: value }
body {  background: #eeeeee;  font-family: "Trebuchet MS", Verdana, Arial, serif; }
body {font-family: Verdana, serif;}
h1 {font-family: Georgia, sans-serif;} p {font-family: Tahoma, serif;}
Now all <h1> tags within the file will be set to Georgia and all <p> tags are set to Tahoma, leaving text within other elements unchanged from the body declaration of Verdana.
There are instances where nested elements do not inherit the containing elements properties.
For example, if the body margin is set to 20 pixels, the other elements within the file will not inherit the body margin by default.
Combining Selectors You can combine elements within one selector in the following fashion.
As you can see in the above code, I have grouped all the header elements into one selector. Each one is seperated by a comma. The final result of the above code sets all headers to green and to the specified font. If the user does not have the first font I declared it will go to another sans-serif font the user has installed on there computer.
Comment tags Comments can be used to explain why you added certain selectors within your css file. So as to help others who may see your file, or to help you remember what you were thinking at a later date. You can add comments that will be ignored by browsers in the following manner.
You will note that it begins with a / (forward slash) and than an * (asterisks) then the comment, then the closing tag which is just backward from the opening tag * (asterisks) then the / (forward slash).
Chapter# 3: -CSS Classes
The class selector allows you to style items within the same (X)HTML element differently. Similiar to what I mentioned in the introduction about inline styles. Except with classes the style can be overwritten by changing out stylesheets. You can use the same class selector again and again within an (X)HTML file.
To put it more simply, this sentence you are reading is defined in my CSS file with the following.
body {margin: 20px;}
h1, h2, h3, h4, h5, h6 {  color: #009900;  font-family: Georgia, sans-serif; }
/* This is a comment */
p {   font-size: small;
Pretty simple, but lets say that I wanted to change the word "sentence" to green bold text, while leaving the rest of the sentence untouched. I would do the following to my (X)HTML file.
Then in my CSS file I would add this style selector:
The final result would look like the following:
To put it more simply, this sentence you are reading is styled in my CSS file by the following.
Please note that a class selector begins with a (.) period. The reason I named it "greenboldtext" is for example purposes, you can name it whatever you want. Though I do encourage you to use selector names that are descriptive. You can reuse the "greenboldtext" class as many times as you want.
Chapter #4: -CSS IDs
IDs are similar to classes, except once a specific id has been declared it cannot be used again within the same (X)HTML file.
I generally use IDs to style the layout elements of a page that will only be needed once, whereas I use classes to style text and such that may be declared multiple times.
The main container for this page is defined by the following.
I have chosen the id selector for the "container" division over a class, because I only need to use it one time within this file.
Then in my CSS file I have the following:
font-size: small;   color: #333333 }
<p>To put it more simply, this <span class="greenboldtext">sentence</span> you are reading is styled in my CSS file by the following. </p>
.greenboldtext{   font-size: small;   color: #008080;  font-weight: bold; }
<div id="container">Everything within my document is inside this division. </div>
#container{   width: 80%;  margin: auto;  padding: 20px;
You will notice that the id selector begins with a (#) number sign instead of a (.) period, as the class selector does.
Chapter #5:- CSS Divisions
Ok so you have finished the first 4 chapters in my series. You have learned the very basics of CSS, how the syntax works and a bit about classes and IDs. Now we are gonna take a quick break from CSS and focus on the (X)HTML side of using it.
Divsions Divisions are a block level (X)HTML element used to define sections of an (X)HTML file. A division can contain all the parts that make up your website. Including additional divisions, spans, images, text and so on.
You define a division within an (X)HTML file by placing the following between the <body></body> tags:
Though most likely you will want to add some style to it. You can do that in the following fashion:
The CSS file contains this:
Now everything within that division will be styled by the "container" style rule, I defined within my CSS file. A division creates a linebreak by default. You can use both classes and IDs with a division tag to style sections of your website.
Chapter 6: CSS Spans
Spans are very similar to divisions except they are an inline element versus a block level element. No linebreak is created when a span is declared.
padding: 20px;  border: 1px solid #666;  background: #ffffff; }
<div> Site contents go here </div>
<div id="container"> Site contents go here </div>
#container{  width: 70%;  margin: auto;  padding: 20px;  border: 1px solid #666;  background: #ffffff; }
declared.
You can use the span tag to style certain areas of text, as shown in the following:
Then in my CSS file:
The final result is: This text is italic.
The purpose of the last 2 chapters was to provide you with a basis for using CSS in an (X)HTML file. For a more detailed explaination of XHTML please visit W3Schools
Chapter 7: CSS Margins
Inherited: No As you may have guessed, the margin property declares the margin between an (X)HTML element and the elements around it. The margin property can be set for the top, left, right and bottom of an element. (see example below)
As you can also see in the above example you have 3 choices of values for the margin property
length percentage auto
You can also declare all the margins of an element in a single property as follows:
If you declare all 4 values as I have above, the order is as follows:
1. top 2. right 3. bottom 4. left
<span class="italic">This text is italic</span>
.italic{   font-style: italic; }
margin-top: length percentage or auto;   margin-left: length percentage or auto;  margin-right: length percentage or auto;  margin-bottom: length percentage or auto;
margin: 10px 10px10px10px;
If only one value is declared, it sets the margin on all sides. (see below)
If you only declare two or three values, the undeclared values are taken from the opposing side. (see below)
You can set the margin property to negative values. If you do not declare the margin value of an element, the margin is 0 (zero).
Elements like paragraphs have default margins in some browsers, to combat this set the margin to 0 (zero).
Note: You do not have to add px (pixels) or whatever units you use, if the value is 0 (zero).
You can see in the example below, the elements for this site are set to be 20px (pixels) from the body
Chapter 8: CSS Padding
Inherited: No Padding is the distance between the border of an (X)HTML element and the content within it.
Most of the rules for margins also apply to padding, except there is no "auto" value, and negative values cannot be declared for padding.
As you can also see in the above example you have 2 choices of values for the padding property
length
margin: 10px;
margin: 10px 10px; /* 2 values */  margin: 10px 10px10px; /* 3 values */
margin: -10px;
p {margin: 0;}
body{   margin: 20px;  background: #eeeeee;  font-size: small;  font-family: Tahoma, Arial, "Trebuchet MS", Helvetica, sans- serif;  text-align: left; }
padding-top: length percentage;   padding-left: length percentage;  padding-right: length percentage;  padding-bottom: length percentage;
percentage
You can also declare all the padding of an element in a single property as follows:
If you declare all 4 values as I have above, the order is as follows:
1. top 2. right 3. bottom 4. left
If only one value is declared, it sets the padding on all sides. (see below)
If you only declare two or three values, the undeclared values are taken from the opposing side. (see below)
If you do not declare the padding value of an element, the padding is 0 (zero).
Note: You do not have to add px (pixels) or whatever units you use, if the value is 0 (zero).
You can see in the example below, the main container for this site has 30px (pixels) of padding between the border and the text.
Chapter 9: CSS Text Properties
Inherited: Yes
Color You can set the color of text with the following:
Possible values are
padding: 10px 10px10px10px;
padding: 10px;
padding: 10px 10px; /* 2 values */  padding: 10px 10px10px; /* 3 values */
#container{   width: 70%;  margin: auto;  padding: 30px;  border: 1px solid #666;  background: #ffffff; }
color: value;
color name - example:(red, black...) hexadecimal number - example:(#ff0000, #000000) RGB color code - example:(rgb(255, 0, 0), rgb(0, 0, 0))
Letter Spacing You can adjust the space between letters in the following manner. Setting the value to 0, prevents the text from justifying. You can use negative values.
Possible values are
normal length
Example:
T h e s e l e t t e r s a r e s p a c e d a t 5 p x .
Text Align You can align text with the following:
Possible values are
left right center justify
Examples:
This text is aligned left.
This text is aligned in the center.
This text is aligned right.
This text is justified.
Text Decoration You can decorate text with the following:
letter-spacing: value;
text-align: value;
Possible values are
none underline overline line through blink
Examples:
This text is underlined.
This text is overlined.
This text has a line through it.
This text is blinking (not in internet explorer).
Text Indent You can indent the first line of text in an (X)HTML element with the following:
Possible values are
length percentage
Examples:
This text is indented 10px pixels.
Text Transform You can control the size of letters in an (X)HTML element with the following:
Possible values are
none capitalize lowercase uppercase
text-decoration: value;
text-indent: value;
text-transform: value;

uppercase
Examples:
This First Letter In Each Word Is Capitalized, Though It Is Not In My File.
THIS TEXT IS ALL UPPERCASE, THOUGH IT IS ALL LOWERCASE IN MY FILE.
this text is all lowercase. though it is all uppercase in my file.
White Space You can control the whitespace in an (X)HTML element with the following:
Possible values are
normal pre nowrap
Word Spacing You can adjust the space between words in the following manner. You can use negative values.
Possible values are
normal length
Example:
These words are spaced at 5px.
Chapter# 10:- CSS Font Properties
Inherited: Yes
Font The font property can set the style, weight, variant, size, line height and
white-space: value;
word-spacing: value;
font:
The above would set the text of an element to an italic style a bold weight a normal variant a relative size a line height of 1.4em and the font to Verdana or another sans-serif typeface.
Font-Family You can set what font will be displayed in an element with the font- family property.
There are 2 choices for values:
family-name generic family
If you set a family name it is best to also add the generic family at the end. As this is a priortized list. So if the user does not have the specified font name it will use the same generic family. (see below)
Font Size You can set the size of the text used in an element by using the font- size property.
There are alot of choices for values:
xx-large x-large larger large medium small smaller x-small xx-small length % (percent)
There is quite a bit to learn about font sizes with CSS so, I am not even going to try to explain it. Actually there are already some great resources on how to size your text. (see below)
font: italic bold normal small/1.4em Verdana, sans-serif;
font-family: Verdana, sans-serif;
font-size: value;
What size text should I use in my css by Paul OB Dive into accessibility - Font Sizes
Font Style You can set the style of text in a element with the font-style property
Possible values are
normalitailc oblique
Font Variant You can set the variant of text within an element with the font-variant property
Possible values are
normal small-caps
Font Weight You can control the weight of text in an element with the font-weight property:
Possible values are
lighter normal 100 200 300 400 500 600 700 800 900 bold
font-style: value;
font-variant: value;
font-weight: value;
bolder
Chapter# 11:- CSS Anchors, Links and Pseudo Classes
Below are the various ways you can use CSS to style links.
Now lets take a look at what each one of the above link styles actually does.
The first on the list sets the color of a link when no event is occuring
The second sets the color a link changes to, when the user has already visited that url
The third sets the color a link changes to as the user places their mouse pointer over the link
The fourth is primarilly for the same purpose as the last one, but this one is for users that are not using a mouse and are tabbing through the links via there keyboards tab key, it sets the color a link changes to as the user tabs through the links
The fifth on the list sets the color a link changes to as it is pressed.
Lets look at an example: Google
If your last visit to Google is not stored in your cache than the above link to google is blue, if you have already been to google then the link should be grey. if you mouseover or tab through the links, the link will change to dark grey, and last but not least if you click and hold the link without releasing it you will see it return back to the original blue color.
  You must declare the a:link and a:visited before you declare a:hover. Furthermore, you must declare a:hover before you can declare a:active.
Using the above code will style all links on your web page, unless you declare a seperate set of link styles for a certain area of your webpage.
a:link {color: #009900;} a:visited {color: #999999;} a:hover {color: #333333;} a:focus {color: #333333;} a:active {color: #009900;}
a:link {color: #009900;}
a:visited {color: #999999;}
a:hover {color: #333333;}
a:focus {color: #333333;}
a:active {color: #009900;}
Pseudo Classes You can set links contained in different parts of your web page to be different colors by using the pseudo class. For example, lets say you want your links in the content area to have a different color then the links in the left or right column of your webpage.
You can do this in the following fashion:
Now assuming that you have your main content in a division named "content" all links within that division will now be styled by this new style selector. Should your selector have a different name, just change the #content selector to match your division name.
Then for the links in a column you could use the following:
Once again, this assumes the name of the column division, just change the name to match yours.
This same method can be accomplished by declaring a class instead of an id.
Though in this case you will need to add a class to each link
But, there is still yet an easier way

Search