Css Quick Guide
Css Quick Guide
WHAT IS CSS?
Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to simplify
the process of making web pages presentable.
CSS handles the look and feel part of a web page. Using CSS, you can control the color of the text,
the style of fonts, the spacing between paragraphs, how columns are sized and laid out, what
background images or colors are used, layout designs,variations in display for different devices
and screen sizes as well as a variety of other effects.
CSS is easy to learn and understand but it provides powerful control over the presentation of an
HTML document. Most commonly, CSS is combined with the markup languages HTML or XHTML.
Advantages of CSS
CSS saves time − You can write CSS once and then reuse same sheet in multiple HTML
pages. You can define a style for each HTML element and apply it to as many Web pages as
you want.
Pages load faster − If you are using CSS, you do not need to write HTML tag attributes
every time. Just write one CSS rule of a tag and apply it to all the occurrences of that tag. So
less code means faster download times.
Easy maintenance − To make a global change, simply change the style, and all elements in
all the web pages will be updated automatically.
Superior styles to HTML − CSS has a much wider array of attributes than HTML, so you
can give a far better look to your HTML page in comparison to HTML attributes.
Multiple Device Compatibility − Style sheets allow content to be optimized for more than
one type of device. By using the same HTML document, different versions of a website can
be presented for handheld devices such as PDAs and cell phones or for printing.
Global web standards − Now HTML attributes are being deprecated and it is being
recommended to use CSS. So its a good idea to start using CSS in all the HTML pages to
make them compatible to future browsers.
Offline Browsing − CSS can store web applications locally with the help of an offline
catche.Using of this, we can view offline websites.The cache also ensures faster loading and
better overall performance of the website.
Platform Independence − The Script offer consistent platform independence and can
support latest browsers as well.
These ratified specifications are called recommendations because the W3C has no control over
the actual implementation of the language. Independent companies and organizations create that
software.
NOTE − The World Wide Web Consortium, or W3C is a group that makes recommendations about
how the Internet works and how it should evolve.
CSS Versions
Cascading Style Sheets, level 1 CSS1 was came out of W3C as a recommendation in December
1996. This version describes the CSS language as well as a simple visual formatting model for all
the HTML tags.
CSS2 was became a W3C recommendation in May 1998 and builds on CSS1. This version adds
support for media-specific style sheets e.g. printers and aural devices, downloadable fonts,
element positioning and tables.
CSS3 was became a W3C recommendation in June 1999 and builds on older versions CSS. it has
divided into documentations is called as Modules and here each module having new extension
features defined in CSS2.
CSS3 Modules
CSS3 Modules are having old CSS specifications as well as extension features.
Selectors
Box Model
Backgrounds and Borders
Image Values and Replaced Content
Text Effects
2D/3D Transformations
Animations
Multiple Column Layout
User Interface
CSS - SYNTAX
A CSS comprises of style rules that are interpreted by the browser and then applied to the
corresponding elements in your document. A style rule is made of three parts −
Selector − A selector is an HTML tag at which a style will be applied. This could be any tag
like <h1> or <table> etc.
Property - A property is a type of attribute of HTML tag. Put simply, all the HTML attributes
are converted into CSS properties. They could be color, border etc.
Value - Values are assigned to properties. For example, color property can have value either
red or #F1F1F1 etc.
You can define selectors in various simple ways based on your comfort. Let me put these selectors
one by one.
h1 {
color: #36CFFF;
}
* {
color: #000000;
}
This rule renders the content of every element in our document in black.
ul em {
color: #000000;
}
.black {
color: #000000;
}
This rule renders the content in black for every element with class attribute set to black in our
document. You can make it a bit more particular. For example:
h1.black {
color: #000000;
}
This rule renders the content in black for only <h1> elements with class attribute set to black.
You can apply more than one class selectors to given element. Consider the following example:
<p >
This para will be styled by the classes center and bold.
</p>
The ID Selectors
You can define style rules based on the id attribute of the elements. All the elements having that id
will be formatted according to the defined rule.
#black {
color: #000000;
}
This rule renders the content in black for every element with id attribute set to black in our
document. You can make it a bit more particular. For example −
h1#black {
color: #000000;
}
This rule renders the content in black for only <h1> elements with id attribute set to black.
The true power of id selectors is when they are used as the foundation for descendant selectors,
For example:
#black h2 {
color: #000000;
}
In this example all level 2 headings will be displayed in black color when those headings will lie
with in tags having id attribute set to black.
body > p {
color: #000000;
}
This rule will render all the paragraphs in black if they are direct child of <body> element. Other
paragraphs put inside other elements like <div> or <td> would not have any effect of this rule.
input[type = "text"]{
color: #000000;
}
The advantage to this method is that the <input type = "submit" /> element is unaffected, and the
color applied only to the desired text fields.
p[lang="fr"] − Selects all paragraph elements whose lang attribute has a value of exactly
"fr".
p[lang~="fr"] − Selects all paragraph elements whose lang attribute contains the word "fr".
p[lang|="en"] − Selects all paragraph elements whose lang attribute contains values that
are exactly "en", or begin with "en-".
h1 {
color: #36C;
font-weight: normal;
letter-spacing: .4em;
margin-bottom: 1em;
text-transform: lowercase;
}
Here all the property and value pairs are separated by a semi colon ; . You can keep them in a
single line or multiple lines. For better readability we keep them into separate lines.
For a while, don't bother about the properties mentioned in the above block. These properties will
be explained in the coming chapters and you can find complete detail about properties in CSS
References.
Grouping Selectors
You can apply a style to many selectors if you like. Just separate the selectors with a comma, as
given in the following example −
h1, h2, h3 {
color: #36C;
font-weight: normal;
letter-spacing: .4em;
margin-bottom: 1em;
text-transform: lowercase;
}
This define style rule will be applicable to h1, h2 and h3 element as well. The order of the list is
irrelevant. All the elements in the selector will have the corresponding declarations applied to
them.
You can combine the various class selectors together as shown below −
CSS - INCLUSION
There are four ways to associate styles with your HTML document. Most commonly used methods
are inline CSS and External CSS.
<!DOCTYPE html>
<html>
<head>
<style type = "text/css" media = "all">
body {
background-color: linen;
}
h1 {
color: maroon;
margin-left: 40px;
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>This is a paragraph.</p>
</body>
</html>
Attributes
Attributes associated with <style> elements are −
type text/css Specifies the style sheet language as a content-type MIMEtype. This is
required attribute.
media
screen
tty
tv
projection
Specifies the device the document will be displayed on. Default value
handheld
is all. This is an optional attribute.
print
braille
aural
all
Attributes
Example
Following is the example of inline CSS based on the above syntax −
<html>
<head>
</head>
<body>
<h1 style = "color:#36C;"> This is inline CSS </h1>
</body>
</html>
An external style sheet is a separate text file with .css extension. You define all the Style rules
within this text file and then you can include this file in any HTML document using <link> element.
<head>
<link type = "text/css" href = "..." media = "..." />
</head>
Attributes
Attributes associated with <style> elements are −
type text/css Specifies the style sheet language as a content-type MIMEtype. This
attribute is required.
href URL Specifies the style sheet file having Style rules. This attribute is a
required.
media
screen
tty
tv
projection
Specifies the device the document will be displayed on. Default value
handheld
is all. This is optional attribute.
print
braille
aural
all
Example
Consider a simple style sheet file with a name mystyle.css having the following rules −
h1, h2, h3 {
color: #36C;
font-weight: normal;
letter-spacing: .4em;
margin-bottom: 1em;
text-transform: lowercase;
}
Now you can include this file mystyle.css in any HTML document as follows −
<head>
<link type = "text/css" href = "mystyle.css" media = " all" />
</head>
<head>
<@import "URL";
</head>
Here URL is the URL of the style sheet file having style rules. You can use another syntax as well −
<head>
<@import url("URL");
</head>
Example
Following is the example showing you how to import a style sheet file into HTML document −
<head>
@import "mystyle.css";
</head>
Any inline style sheet takes highest priority. So, it will override any rule defined in
<style>...</style> tags or rules defined in any external style sheet file.
Any rule defined in <style>...</style> tags will override rules defined in any external style
sheet file.
Any rule defined in external style sheet file takes lowest priority, and rules defined in this file
will be applied only when above two rules are not applicable.
<style type="text/css">
<!--
body, td {
color: blue;
}
-->
</style>
CSS Comments
Many times, you may need to put additional comments in your style sheet blocks. So, it is very easy
to comment any part in style sheet. You can simple put your comments inside /*.....this is a
comment in style sheet.....*/.
You can use /* ....*/ to comment multi-line blocks in similar way you do in C and C++ programming
languages.
Example
<!DOCTYPE html>
<html>
<head>
<style>
p {
color: red;
/* This is a single-line comment */
text-align: center;
}
/* This is a multi-line comment */
</style>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
CSS supports a number of measurements including absolute units such as inches, centimeters,
points, and so on, as well as relative measures such as percentages and em units. You need these
values while specifying various measurements in your Style rules e.g border = "1px solid red".
We have listed out all the CSS Measurement Units along with proper Examples −
CSS - COLORS
CSS uses color values to specify a color. Typically, these are used to set a color either for the
foreground of an element i. e. , itstext or else for the background of the element. They can also be
used to affect the color of borders and other decorative effects.
You can specify your color values in various formats. Following table lists all the possible formats −
A hexadecimal value can be taken from any graphics software like Adobe Photoshop, Jasc
Paintshop Pro, or even using Advanced Paint Brush.
Each hexadecimal code will be preceded by a pound or hash sign '#'. Following are the examples
to use Hexadecimal notation.
#000000
#FF0000
#00FF00
#0000FF
#FFFF00
#00FFFF
#FF00FF
#C0C0C0
#FFFFFF
A hexadecimal value can be taken from any graphics software like Adobe Photoshop, Jasc
Paintshop Pro, or even using Advanced Paint Brush.
Each hexadecimal code will be preceded by a pound or hash sign '#'. Following are the examples
to use Hexadecimal notation.
#000
#F00
#0F0
#0FF
#FF0
#0FF
#F0F
#FFF
CSS Colors - RGB Values
This color value is specified using the rgb property. This property takes three values, one each for
red, green, and blue. The value can be an integer between 0 and 255 or a percentage.
NOTE: All the browsers does not support rgb property of color so it is recommended not to use it.
rgb0, 0, 0
rgb255, 0, 0
rgb0, 255, 0
rgb0, 0, 255
rgb255, 255, 0
rgb255, 0, 255
CSS - BACKGROUND
This chapter teaches you how to set backgrounds of various HTML elements. You can set the
following background properties of an element −
<html>
<head>
<body>
<p style = "background-color:yellow;">
This text has a yellow background color.</p>
</body>
</head>
<html>
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-color: #cccccc;
}
</style>
<body>
<h1>Hello World!</h1>
</body>
</head>
<html>
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-repeat: repeat;
}
</style>
</head>
<body>
<p>Tutorials point</p>
</body>
</html>
The following example which demonstrates how to repeat the background image vertically.
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-repeat: repeat-y;
}
</style>
</head>
<body>
<p>Tutorials point</>
</body>
</html>
The following example demonstrates how to repeat the background image horizontally.
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-repeat: repeat-x;
}
</style>
</head>
<body>
<p>Tutorials point</>
</body>
</html>
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-position:100px;
}
</style>
</head>
<body>
<p>Tutorials point</>
</body>
</html>
The following example demonstrates how to set the background image position 100 pixels away
from the left side and 200 pixels down from the top.
<html>
<head>
<style>
body {
background-image: url("/css/images/css.jpg");
background-position:100px 200px;
}
</style>
</head>
<body>
<p>Tutorials point</>
</body>
</html>
The following example demonstrates how to set the fixed background image.
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-image: url('/css/images/css.jpg');
background-repeat: no-repeat;
background-attachment: fixed;
}
</style>
</head>
<body>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
</body>
</html>
The following example demonstrates how to set the scrolling background image.
<!DOCTYPE html>
<html>
<head>
<style>
body {
background-image: url('/css/images/css.jpg');
background-repeat: no-repeat;
background-attachment: fixed;
background-attachment:scroll;
}.
</style>
</head>
<body>
<p>The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
<p>;The background-image is fixed. Try to scroll down the page.</p>
</body>
</html>
Shorthand Property
You can use the background property to set all the background properties at once. For example −
CSS - FONTS
This chapter teaches you how to set fonts of a content, available in an HTML element. You can set
following font properties of an element −
The font-weight property is used to increase or decrease how bold or light a font appears.
The font property is used as shorthand to specify a number of other font properties.
<html>
<head>
</head>
<body>
<p style="font-family:georgia,garamond,serif;">
This text is rendered in either georgia, garamond, or the default serif font
depending on which font you have at your system.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-style:italic;">
This text will be rendered in italic style
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-variant:small-caps;">
This text will be rendered as small caps
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-weight:bold;">This font is bold.</p>
<p style="font-weight:bolder;">This font is bolder.</p>
<p style="font-weight:500;">This font is 500 weight.</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-size:20px;">This font size is 20 pixels</p>
<p style="font-size:small;">This font size is small</p>
<p style="font-size:large;">This font size is large</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-size-adjust:0.61;">
This text is using a font-size-adjust value.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font-stretch:ultra-expanded;">
If this doesn't appear to work, it is likely that your computer doesn't have a
condensed or expanded version of the font being used.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="font:italic small-caps bold 15px georgia;">
Applying all the properties on the text at once.
</p>
</body>
</html>
CSS - TEXT
This chapter teaches you how to manipulate text using CSS properties. You can set following text
properties of an element −
The letter-spacing property is used to add or subtract space between the letters that make
up a word.
The word-spacing property is used to add or subtract space between the words of a
sentence.
The white-space property is used to control the flow and formatting of text.
The text-shadow property is used to set the text shadow around a text.
<html>
<head>
</head>
<body>
<p style="color:red;">
This text will be written in red.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="direction:rtl;">
This text will be renedered from right to left
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="letter-spacing:5px;">
This text is having space between letters.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="word-spacing:5px;">
This text is having space between words.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="text-indent:1cm;">
This text will have first line indented by 1cm and this line will remain at
its actual position this is done by CSS text-indent property.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="text-align:right;">
This will be right aligned.
</p>
<p style="text-align:center;">
This will be center aligned.
</p>
<p style="text-align:left;">
This will be left aligned.
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="text-decoration:underline;">
This will be underlined
</p>
<p style="text-decoration:line-through;">
This will be striked through.
</p>
<p style="text-decoration:overline;">
This will have a over line.
</p>
<p style="text-decoration:blink;">
This text will have blinking effect
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="text-transform:capitalize;">
This will be capitalized
</p>
<p style="text-transform:uppercase;">
This will be in uppercase
</p>
<p style="text-transform:lowercase;">
This will be in lowercase
</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="white-space:pre;">
This text has a line break and the white-space pre setting tells the browser to
honor
it just like the HTML pre tag.</p>
</body>
</html>
<html>
<head>
</head>
<body>
<p style="text-shadow:4px 4px 8px blue;">
If your browser supports the CSS text-shadow property, this text will have a blue
shadow.
</p>
</body>
</html>
CSS plays a good role to control image display. You can set the following image properties using
CSS.
<html>
<head>
</head>
<body>
<img style="border:0px;" src="/css/images/logo.png" />
<br />
<img style="border:3px dashed red;" src="/css/images/logo.png" />
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<img style="border:1px solid red; height:100px;" src="/css/images/logo.png" />
<br />
<img style="border:1px solid red; height:50%;" src="/css/images/logo.png" />
</body>
</html>
<html>
<head>
</head>
<body>
<img style="border:1px solid red; width:150px;" src="/css/images/logo.png" />
<br />
<img style="border:1px solid red; width:100%;" src="/css/images/logo.png" />
</body>
</html>
In Mozilla −moz − opacity: x x can be a value from 0.0 - 1.0. A lower value makes the element more
transparent ThesamethingsgoesfortheCSS3 − validsyntaxopacity: x.
In IE filter: alpha(opacity = x) x can be a value from 0 - 100. A lower value makes the element more
transparent.
Here is an example −
<html>
<head>
</head>
<body>
<img style="border:1px solid red;-moz-opacity:0.4;filter:alpha(opacity=40);"
src="/css/images/logo.png" />
</body>
</html>
CSS - LINKS
This chapter teaches you how to set different properties of a hyper link using CSS. You can set
following properties of a hyper link −
We will revisit the same properties when we will discuss Pseudo-Classes of CSS.
The :hover signifies an element that currently has the user's mouse pointer hovering over it.
Usually, all these properties are kept in the header part of the HTML document.
Remember a:hover MUST come after a:link and a:visited in the CSS definition in order to be
effective. Also, a:active MUST come after a:hover in the CSS definition as follows −
<style type="text/css">
a:link {color: #000000}
a:visited {color: #006600}
a:hover {color: #FFCC00}
a:active {color: #FF00CC}
</style>
Now, we will see how to use these properties to give different effects to hyperlinks.
<html>
<head>
<style type="text/css">
a:link {color:#000000}
</style>
</head>
<body>
<a href="/css/index.htm">Link</a>
</body>
</html>
<html>
<head>
<style type="text/css">
a:visited {color: #006600}
</style>
</head>
<body>
<a href="/html/index.htm">Click this link</a>
</body>
</html>
It will produce the following link. Once you will click this link, it will change its color to green.
<html>
<head>
<style type="text/css">
a:hover {color: #FFCC00}
</style>
</head>
<body>
<a href="/css/index.htm">Link</a>
</body>
</html>
It will produce the following link. Now, you bring your mouse over this link and you will see that it
changes its color to yellow.
<html>
<head>
<style type="text/css">
a:active {color: #FF00CC}
</style>
</head>
<body>
<a href="/html/index.htm">Link</a>
</body>
</html>
It will produce the following link. It will change its color to pink when the user clicks it.
CSS - TABLES
This tutorial will teach you how to set different properties of an HTML table using CSS. You can set
following properties of a table −
The border-collapse specifies whether the browser should control the appearance of the
adjacent borders that touch each other or whether each cell should maintain its style.
The border-spacing specifies the width that should appear between table cells.
The caption-side captions are presented in the <caption> element. By default, these are
rendered above the table in the document. You use the caption-side property to control the
placement of the table caption.
The empty-cells specifies whether the border should be shown if a cell is empty.
The table-layout allows browsers to speed up layout of a table by using the first width
properties it comes across for the rest of a column rather than having to load the whole table
before rendering it.
<html>
<head>
<style type="text/css">
table.one {border-collapse:collapse;}
table.two {border-collapse:separate;}
td.a {
border-style:dotted;
border-width:3px;
border-color:#000000;
padding: 10px;
}
td.b {
border-style:solid;
border-width:3px;
border-color:#333333;
padding:10px;
}
</style>
</head>
<body>
<table >
<caption>Collapse Border Example</caption>
<tr><td > Cell A Collapse Example</td></tr>
<tr><td > Cell B Collapse Example</td></tr>
</table>
<br />
<table >
<caption>Separate Border Example</caption>
<tr><td > Cell A Separate Example</td></tr>
<tr><td > Cell B Separate Example</td></tr>
</table>
</body>
</html>
If you provide one value, it will applies to both vertical and horizontal borders. Or you can specify
two values, in which case, the first refers to the horizontal spacing and the second to the vertical
spacing −
<style type="text/css">
/* If you provide one value */
table.example {border-spacing:10px;}
/* This is how you can provide two values */
table.example {border-spacing:10px; 15px;}
</style>
Now let's modify the previous example and see the effect −
<html>
<head>
<style type="text/css">
table.one {.
border-collapse:separate;
width:400px;
border-spacing:10px;
}
table.two {
border-collapse:separate;
width:400px;
border-spacing:10px 50px;
}
</style>
</head>
<body>
<table >
<caption>Separate Border Example with border-spacing</caption>
<tr><td> Cell A Collapse Example</td></tr>
<tr><td> Cell B Collapse Example</td></tr>
</table>
<br />
<table >
<caption>Separate Border Example with border-spacing</caption>
<tr><td> Cell A Separate Example</td></tr>
<tr><td> Cell B Separate Example</td></tr>
</table>
</body>
</html>
This property can have one of the four values top, bottom, left or right. The following example uses
each value.
<html>
<head>
<style type="text/css">
caption.top {caption-side:top}
caption.bottom {caption-side:bottom}
caption.left {caption-side:left}
caption.right {caption-side:right}
</style>
</head>
<body>
<table style="width:400px; border:1px solid black;">
<caption >
This caption will appear at the top
</caption>
<tr><td > Cell A</td></tr>
<tr><td > Cell B</td></tr>
</table>
<br />
This property can have one of the three values - show, hide or inherit.
Here is the empty-cells property used to hide borders of empty cells in the <table> element.
<html>
<head>
<style type="text/css">
table.empty{
width:350px;
border-collapse:separate;
empty-cells:hide;
}
td.empty{
padding:5px;
border-style:solid;
border-width:1px;
border-color:#999999;
}
</style>
</head>
<body>
<table >
<tr>
<th></th>
<th>Title one</th>
<th>Title two</th>
</tr>
<tr>
<th>Row Title</th>
<td >value</td>
<td >value</td>
</tr>
<tr>
<th>Row Title</th>
<td >value</td>
<td ></td>
</tr>
</table>
</body>
</html>
This property can have one of the three values: fixed, auto or inherit.
NOTE − This property is not supported by many browsers so do not rely on this property.
<html>
<head>
<style type="text/css">
table.auto {
table-layout: auto
}
table.fixed{
table-layout: fixed
}
</style>
</head>
<body>
<table >
<tr>
<td width="20%">1000000000000000000000000000</td>
<td width="40%">10000000</td>
<td width="40%">100</td>
</tr>
</table>
<br />
<table >
<tr>
<td width="20%">1000000000000000000000000000</td>
<td width="40%">10000000</td>
<td width="40%">100</td>
</tr>
</table>
</body>
</html>
CSS - BORDERS
The border properties allow you to specify how the border of the box representing an element
should look. There are three properties of a border you can change:
The border-style specifies whether a border should be solid, dashed line, double line, or
one of the other possible values.
<html>
<head>
<style type="text/css">
p.example1{
border:1px solid;
border-bottom-color:#009900; /* Green */
border-top-color:#FF0000; /* Red */
border-left-color:#330000; /* Black */
border-right-color:#0000CC; /* Blue */
}
p.example2{
border:1px solid;
border-color:#009900; /* Green */
}
</style>
</head>
<body>
<p >
This example is showing all borders in different colors.
</p>
<p >
This example is showing all borders in green color only.
</p>
</body>
</html>
inset: Border makes the box look like it is embedded in the page.
outset: Border makes the box look like it is coming out of the canvas.
hidden: Same as none, except in terms of border-conflict resolution for table elements.
You can individually change the style of the bottom, left, top, and right borders of an element using
the following properties −
<html>
<head>
</head>
<body>.
<p style="border-width:4px; border-style:none;">
This is a border with none width.
</p>
<p style="border-width:4px;border-top-style:solid;
border-bottom-style:dashed;border-left-style:groove;border-right-style:double;">
This is a a border with four different styles.
</p>
</body>
</html>
You can individually change the width of the bottom, top, left, and right borders of an element
using the following properties −
<html>
<head>
</head>
<body>
<p style="border-width:4px; border-style:solid;">
This is a solid border whose width is 4px.
</p>
<p style="border-bottom-width:4px;border-top-width:10px;
border-left-width: 2px;border-right-width:15px;border-style:solid;">
This is a a border with four different width.
</p>
</body>
</html>
The following example shows how to use all the three properties into a single property. This is the
most frequently used property to set border around any element.
<html>
<head>
</head>
<body>
<p style="border:4px solid red;">
This example is showing shorthand property for border.
</p>
</body>
</html>
CSS - MARGINS
The margin property defines the space around an HTML element. It is possible to use negative
values to overlap content.
The values of the margin property are not inherited by the child elements. Remember that the
adjacent vertical margins topandbottommargins will collapse into each other so that the distance
between the blocks is not the sum of the margins, but only the greater of the two margins or the
same size as one margin if both are equal.
The margin specifies a shorthand property for setting the margin properties in one
declaration.
The margin-bottom specifies the bottom margin of an element.
Here is an example −
<html>
<head>
</head>
<body>
<p style="margin: 15px; border:1px solid black;">
all four margins will be 15px
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="margin-bottom: 15px; border:1px solid black;">
This is a paragraph with a specified bottom margin.
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="margin-top: 15px; border:1px solid black;">
This is a paragraph with a specified top margin
</p>
Here is an example:
<html>
<head>
</head>
<body>
<p style="margin-left: 15px; border:1px solid black;">
This is a paragraph with a specified left margin
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="margin-right: 15px; border:1px solid black;">
This is a paragraph with a specified right margin
</p>
CSS - LISTS
Lists are very helpful in conveying a set of either numbered or bulleted points. This chapter
teaches you how to control list type, position, style, etc., using CSS.
We have the following five CSS properties, which can be used to control lists:
The list-style-type allows you to control the shape or appearance of the marker.
The list-style-position specifies whether a long point that wraps to a second line should
align with the first line or start underneath the start of the marker.
The list-style-image specifies an image for the marker rather than a bullet point or
number.
The marker-offset specifies the distance between a marker and the text in the list.
Here are the values which can be used for an unordered list −
Value Description
none NA
Here are the values, which can be used for an ordered list −
Here is an example −
<html>
<head>
</head>
<body>
<ul style="list-style-type:circle;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ul style="list-style-type:square;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ol style="list-style-type:decimal;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
<ol style="list-style-type:lower-alpha;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
<ol style="list-style-type:lower-roman;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
</body>
</html>
Value Description
none NA
inside If the text goes onto a second line, the text will wrap underneath the marker. It will also
appear indented to where the text would have started if the list had a value of outside.
outside If the text goes onto a second line, the text will be aligned with the start of the first line
totherightofthebullet.
Here is an example −
<html>
<head>
</head>
<body>
<ul style="list-style-type:circle; list-stlye-position:outside;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ul style="list-style-type:square;list-style-position:inside;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ol style="list-style-type:decimal;list-stlye-position:outside;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
<ol style="list-style-type:lower-alpha;list-style-position:inside;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<ul>
<li style="list-style-image: url(/images/bullet.gif);">Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
<ol>
<li style="list-style-image: url(/images/bullet.gif);">Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ol>
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<ul style="list-style: inside square;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
Here is an example −
<html>
<head>
</head>
<body>
<ul style="list-style: inside square; marker-offset:2em;">
<li>Maths</li>
<li>Social Science</li>
<li>Physics</li>
</ul>
CSS - PADDINGS
The padding property allows you to specify how much space should appear between the content of
an element and its border −
The value of this attribute should be either a length, a percentage, or the word inherit. If the value
is inherit, it will have the same padding as its parent element. If a percentage is used, the
percentage is of the containing box.
The following CSS properties can be used to control lists. You can also set different values for the
padding on each side of the box using the following properties −
Here is an example −
<html>
<head>
</head>
<body>
<p style="padding-bottom: 15px; border:1px solid black;">
This is a paragraph with a specified bottom padding
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="padding-top: 15px; border:1px solid black;">
This is a paragraph with a specified top padding
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="padding-left: 15px; border:1px solid black;">
This is a paragraph with a specified left padding
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="padding-right: 15px; border:1px solid black;">
This is a paragraph with a specified right padding
</p>
Here is an example −
<html>
<head>
</head>
<body>
<p style="padding: 15px; border:1px solid black;">
all four padding will be 15px
</p>
CSS - CURSORS
The cursor property of CSS allows you to specify the type of cursor that should be displayed to the
user.
One good usage of this property is in using images for submit buttons on forms. By default, when a
cursor hovers over a link, the cursor changes from a pointer to a hand. However, it does not
change form for a submit button on a form. Therefore, whenever someone hovers over an image
that is a submit button, it provides a visual clue that the image is clickable.
The following table shows the possible values for the cursor property −
Value Description
auto Shape of the cursor depends on the context area it is over. For example, an 'I'
over text, a 'hand' over a link, and so on.
default An arrow
e-resize The cursor indicates that an edge of a box is to be moved right east.
ne-resize The cursor indicates that an edge of a box is to be moved up and right
north/east.
nw-resize The cursor indicates that an edge of a box is to be moved up and left north/west.
se-resize The cursor indicates that an edge of a box is to be moved down and right
south/east.
sw-resize The cursor indicates that an edge of a box is to be moved down and left
south/west.
s-resize The cursor indicates that an edge of a box is to be moved down south.
w-resize The cursor indicates that an edge of a box is to be moved left west.
help A question mark or balloon, ideal for use over help buttons.
NOTE: You should try to use only these values to add helpful information for users, and in places,
they would expect to see that cursor. For example, using the crosshair when someone hovers over
a link can confuse visitors.
Here is an example:
<html>
<head>
</head>
<body>
<p>Move the mouse over the words to see the cursor change:</p>
<div style="cursor:auto">Auto</div>
<div style="cursor:crosshair">Crosshair</div>
<div style="cursor:default">Default</div>
<div style="cursor:pointer">Pointer</div>
<div style="cursor:move">Move</div>
<div style="cursor:e-resize">e-resize</div>
<div style="cursor:ne-resize">ne-resize</div>
<div style="cursor:nw-resize">nw-resize</div>
<div style="cursor:n-resize">n-resize</div>
<div style="cursor:se-resize">se-resize</div>
<div style="cursor:sw-resize">sw-resize</div>
<div style="cursor:s-resize">s-resize</div>
<div style="cursor:w-resize">w-resize</div>
<div style="cursor:text">text</div>
<div style="cursor:wait">wait</div>
<div style="cursor:help">help</div>
</body>
</html>
Outline is always the same on all sides; you cannot specify different values for different sides
of an element.
The outline-style property is used to set the line style for the outline.
The outline property is used to set all the above three properties in a single statement.
Here is an example −
<html>
<head>
</head>
<body>
<p style="outline-width:thin; outline-style:solid;">
This text is having thin outline.
</p>
<br />
inset: Outline makes the box look like it is embedded in the page.
outset: Outline makes the box look like it is coming out of the canvas.
Here is an example −
<html>
<head>
</head>
<body>
<p style="outline-width:thin; outline-style:solid;">
This text is having thin solid outline.
</p>
<br />
<p style="outline-width:5px;outline-style:dotted;">
This text is having 5x dotted outline.
</p>
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="outline-width:thin; outline-style:solid;outline-color:red">
This text is having thin solid red outline.
</p>
<br />
<p style="outline-width:5px;outline-style:dotted;outline-color:rgb(13,33,232)">
This text is having 5x dotted blue outline.
</p>
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="outline:thin solid red;">
This text is having thin solid red outline.
</p>
<br />
<p style="outline:thick dashed #009900;">
This text is having thick dashed green outline.
</p>
<br />
CSS - DIMENSION
You have seen the border that surrounds every box ie. element, the padding that can appear
inside each box and the margin that can go around them. In this tutorial we will how we can
change the dimensions of boxes.
We have the following properties that allow you to control the dimensions of a box.
The max-height property is used to set a maximum height that a box can be.
The min-height property is used to set the minimum height that a box can be.
The max-width property is used to set the maximum width that a box can be.
The min-width property is used to set the minimum width that a box can be.
Here is an example −
<html>
<head>
</head>
<body>
<p style="width:400px; height:100px;border:1px solid red;padding:5px;
margin:10px;">
This paragraph is 400pixels wide and 100 pixels high
</p>
</body>
</html>
Here is an example −
<html>
<head>
<body>
<p style="width:400px; height:100px;border:1px solid red;padding:5px;
margin:10px;line-height:30px;">
This paragraph is 400pixels wide and 100 pixels high and here line height is 30pixels.
This paragraph is 400 pixels wide and 100 pixels high and here line height is 30pixels.
</p>
</body>
</head>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="width:400px; max-height:10px;border:1px solid red;padding:5px;
margin:10px;">
This paragraph is 400px wide and max height is 10px
This paragraph is 400px wide and max height is 10px
This paragraph is 400px wide and max height is 10px
This paragraph is 400px wide and max height is 10px
</p>
<br>
<br>
<br>
<img alt="logo" src="/css/images/logo.png" width="195" height="84" />
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="width:400px; min-height:200px;border:1px solid red;padding:5px;
margin:10px;">
This paragraph is 400px wide and min height is 200px
This paragraph is 400px wide and min height is 200px
This paragraph is 400px wide and min height is 200px
This paragraph is 400px wide and min height is 200px
</p>
<img alt="logo" src="/css/images/logo.png" width="95" height="84" />
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="max-width:100px; height:200px;border:1px solid red;padding:5px;
margin:10px;">
This paragraph is 200px high and max width is 100px
This paragraph is 200px high and max width is 100px
</p>
<img alt="logo" src="/css/images/logo.png" width="95" height="84" />
</body>
</html>
Here is an example −
<html>
<head>
</head>
<body>
<p style="min-width:400px; height:100px;border:1px solid red;padding:5px;
margin:10px;">
This paragraph is 100px high and min width is 400px
This paragraph is 100px high and min width is 400px
<img alt="logo" src="/css/images/css.gif" width="95" height="84" />
</body>
</html>
CSS - SCROLLBARS
There may be a case when an element's content might be larger than the amount of space
allocated to it. For example, given width and height properties do not allow enough room to
accommodate the content of the element.
CSS provides a property called overflow which tells the browser what to do if the box's contents is
larger than the box itself. This property can take one of the following values −
Value Description
visible Allows the content to overflow the borders of its containing element.
hidden The content of the nested element is simply cut off at the border of the containing
element and no scrollbars is visible.
scroll The size of the containing element does not change, but the scrollbars are added to
allow the user to scroll to see the content.
auto The purpose is the same as scroll, but the scrollbar will be shown only if the content
does overflow.
Here is an example −
<html>
<head>
</head>
<style type="text/css">
.scroll{
display:block;
border: 1px solid red;
padding:5px;
margin-top:5px;
width:300px;
height:50px;
overflow:scroll;
}
.auto{
display:block;
border: 1px solid red;
padding:5px;
margin-top:5px;
width:300px;
height:50px;
overflow:auto;
}
</style>
<body>
<p>Example of scroll value:</p>
<div >
I am going to keep lot of content here just to show you how scrollbars works
if there is an overflow in an element box. This provides your horizontal
as well as vertical scrollbars.
</div>
<br />
<div >
I am going to keep lot of content here just to show you how scrollbars works
if there is an overflow in an element box. This provides your horizontal
as well as vertical scrollbars.
</div>
</body>
</html>
You may choose to use the visibility property to hide error messages that are only displayed if the
user needs to see them, or to hide answers to a quiz until the user selects an option.
NOTE − Remember that the source code will still contain whatever is in the invisible paragraph, so
you should not use this to hide sensitive information such as credit card details or passwords.
The visibility property can take the values listed in the table that follows −
Value Description
visible The box and its contents are shown to the user.
hidden The box and its content are made invisible, although they still affect the layout of the
page.
collapse This is for use only with dynamic table columns and row effects.
Here is an example −
<html>
<head>
</head>
<body>
<p>
This paragraph should be visible in normal way.
</p>
<p style="visibility:hidden;">
This paragraph should not be visible.
</p>
</body>
</html>
CSS - POSITIONING
CSS helps you to position your HTML element. You can put any HTML element at whatever location
you like. You can specify whether you want the element positioned relative to its natural position in
the page or absolute based on its parent element.
Now, we will see all the CSS positioning related properties with examples −
Relative Positioning
Relative positioning changes the position of the HTML element relative to where it normally
appears. So "left:20" adds 20 pixels to the element's LEFT position.
You can use two values top and left along with the position property to move an HTML element
anywhere in the HTML document.
NOTE − You can use bottom or right values as well in the same way as top and left.
<html>
<head>
</head>
<body>
<div style="position:relative;left:80px;top:2px;background-color:yellow;">
This div has relative positioning.
</div>
</body>
</html>
Absolute Positioning
An element with position: absolute is positioned at the specified coordinates relative to your
screen top-left corner.
You can use two values top and left along with the position property to move an HTML element
anywhere in the HTML document.
NOTE − You can use bottom or right values as well in the same way as top and left.
Here is an example −
<html>
<head>
</head>
<body>
<div style="position:absolute;left:80px;top:20px;background-color:yellow;">
This div has absolute positioning.
</div>
</body>
</html>
Fixed Positioning
Fixed positioning allows you to fix the position of an element to a particular spot on the page,
regardless of scrolling. Specified coordinates will be relative to the browser window.
You can use two values top and left along with the position property to move an HTML element
anywhere in the HTML document.
NOTE − You can use bottom or right values as well in the same way as top and left.
Here is an example −
<html>
<head>
</head>
<body>
<div style="position:fixed;left:80px;top:20px;background-color:yellow;">
This div has fixed positioning.
</div>
</body>
</html>
CSS - LAYERS
CSS gives you opportunity to create layers of various divisions. The CSS layers refer to applying
the z-index property to elements that overlap with each other.
The z-index property is used along with the position property to create an effect of layers. You can
specify which element should come on top and which element should come at bottom.
A z-index property can help you to create more complex webpage layouts. Following is the
example which shows how to create layers in CSS.
<html>
<head>
</head>
<body>
<div style="background-color:red;
width:300px;
height:100px;
position:relative;
top:10px;
left:80px;
z-index:2">
</div>
<div style="background-color:yellow;
width:300px;
height:100px;
position:relative;
top:-60px;
left:35px;
z-index:1;">
</div>
<div style="background-color:green;
width:300px;
height:100px;
position:relative;
top:-220px;
left:120px;
z-index:3;">
</div>
</body>
</html>
Value Description
:hover Use this class to add special style to an element when you mouse over it.
:focus Use this class to add special style to an element while the element has focus.
:first- Use this class to add special style to an element that is the first child of some other
child element.
a:hover MUST come after a:link and a:visited in the CSS definition in order to be effective.
a:active MUST come after a:hover in the CSS definition in order to be effective.
Pseudo-class are different from CSS classes but they can be combined.
<html>
<head>
<style type="text/css">
a:link {color:#000000}
</style>
</head>
<body>
<a href="/html/index.htm">Black Link</a>
</body>
</html>
<html>
<head>
<style type="text/css">
a:visited {color: #006600}
</style>
</head>
<body>
<a href="/html/index.htm">Click this link</a>
</body>
</html>
This will produce following link. Once you will click this link, it will change its color to green.
The :hover pseudo-class
The following example demonstrates how to use the :hover class to change the color of links when
we bring a mouse pointer over that link. Possible values could be any color name in any valid
format.
<html>
<head>
<style type="text/css">
a:hover {color: #FFCC00}
</style>
</head>
<body>
<a href="/html/index.htm">Bring Mouse Here</a>
</body>
</html>
It will produce the following link. Now you bring your mouse over this link and you will see that it
changes its color to yellow.
<html>
<head>
<style type="text/css">
a:active {color: #FF00CC}
</style>
</head>
<body>
<a href="/html/index.htm">Click This Link</a>
</body>
</html>
It will produce the following link. When a user clicks it, the color changes to pink.
The :focus pseudo-class
The following example demonstrates how to use the :focus class to change the color of focused
links. Possible values could be any color name in any valid format.
<html>
<head>
<style type="text/css">
a:focus {color: #0000FF}
</style>
</head>
<body>
<a href="/html/index.htm">Click this Link</a>
</body>
</html>
It will produce the following link. When this link gets focused, its color changes to orange. The color
changes back when it loses focus.
For example, to indent the first paragraph of all <div> elements, you could use this definition:
<html>
<head>
<style type="text/css">
div > p:first-child
{
text-indent: 25px;
}
</style>
</head>
<body>
<div>
<p>
First paragraph in div. This paragraph will be indented
</p>
<p>
Second paragraph in div. This paragraph will not be indented
</p>
</div>
<p>But it will not match the paragraph in this HTML:</p>
<div>
<h3>Heading</h3>
<p>The first paragraph inside the div. This paragraph will not be effected.</p>
</div>
</body>
</html>
This class is useful in documents that must appeal to multiple languages that have different
conventions for certain language constructs. For example, the French language typically uses
angle brackets < and > for quoting purposes, while the English language uses quote marks ′ and ′ .
In a document that needs to address this difference, you can use the :lang pseudo-class to change
the quote marks appropriately. The following code changes the <blockquote> tag appropriately
for the language being used −
<html>
<head>
<style type="text/css">
/* Two levels of quotes for two languages*/
:lang(en) { quotes: '"' '"' "'" "'"; }
:lang(fr) { quotes: "<<" ">>" "<" ">"; }
</style>
</head>
<body>
<p>...<q lang="fr">A quote in a paragraph</q>...</p>
</body>
</html>
The :lang selectors will apply to all the elements in the document. However, not all elements make
use of the quotes property, so the effect will be transparent for most elements.
Value Description
:first-line Use this element to add special styles to the first line of the text in a selector.
:first-letter Use this element to add special style to the first letter of the text in a selector.
<html>
<head>
<style type="text/css">
p:first-line { text-decoration: underline; }
p.noline:first-line { text-decoration: none; }
</style>
</head>
<body>
<p > This line would not have any underline because this belongs to nline
class.</p>
<p>The first line of this paragraph will be underlined as defined in the CSS rule
above. Rest of the lines in this paragraph will remain normal. This example shows how to
use :first-line pseduo element to give effect to the first line of any HTML element.</p>
</body>
</html>
<p>The first character of this paragraph will be 5em big as defined in the CSS
rule above. Rest of the characters in this paragraph will remain normal. This example
shows how to use :first-letter pseduo element to give effect to the first characters of
any HTML element.</p>
</body>
</html>
<html>
<head>
<style type="text/css">
p:before
{
content: url(/images/bullet.gif)
}
</style>
</head>
<body>
<p> This line will be preceded by a bullet.</p>
<p> This line will be preceded by a bullet.</p>
<p> This line will be preceded by a bullet.</p>
</body>
</html>
<html>
<head>
<style type="text/css">
p:after
{
content: url(/images/bullet.gif)
}
</style>
</head>
<body>
<p> This line will be succeeded by a bullet.</p>
<p> This line will be succeeded by a bullet.</p>
<p> This line will be succeeded by a bullet.</p>
</body>
</html>
CSS - @ RULES
This chapter will cover the following important @ rules −
The @import: rule imports another style sheet into the current style sheet.
The @charset rule indicates the character set the style sheet uses.
The @font-face rule is used to exhaustively describe a font face for use in a document.
The !important rule indicates that a user-defined rule should take precedence over the
author's style sheets.
NOTE − There are other @ rules which we will cover in subsequent chapters.
<style tyle="text/css">
<!--
@import "mystyle.css";
or
@import url("mystyle.css");
.......other CSS rules .....
-->
</style>
The significance of the @import rule is that it allows you to develop your style sheets with a
modular approach. You can create various style sheets and then include them wherever you need
them.
The @charset Rule
If you are writing your document using a character set other than ASCII or ISO-8859-1 you might
want to set the @charset rule at the top of your style sheet to indicate what character set the style
sheet is written in.
The @charset rule must be written right at the beginning of the style sheet without even a space
before it. The value is held in quotes and should be one of the standard character-sets. For
example −
<style tyle="text/css">
<!--
@charset "iso-8859-1"
.......other CSS rules .....
-->
</style>
In general, @font-face is extremely complicated, and its use is not recommended for any except
those who are expert in font metrics.
Here is an example −
<style tyle="text/css">
<!--
@font-face {
font-family: "Scarborough Light";
src: url("http://www.font.site/s/scarbo-lt");
}
@font-face {
font-family: Santiago;
src: local ("Santiago"),
url("http://www.font.site/s/santiago.tt")
format("truetype");
unicode-range: U+??,U+100-220;
font-size: all;
font-family: sans-serif;
}
-->
</style>
The !important rule provides a way to make your CSS cascade. It also includes the rules that are to
be applied always. A rule having a !important property will always be applied, no matter where
that rule appears in the CSS document.
For example, in the following style sheet, the paragraph text will be black, even though the first
style property applied is red:
<style tyle="text/css">
<!--
p { color: #ff0000; }
p { color: #000000; }
-->
</style>
So, if you wanted to make sure that a property always applied, you would add the !important
property to the tag. So, to make the paragraph text always red, you should write it as follows −
<html>
<head>
<style tyle="text/css">
p { color: #ff0000 !important; }
p { color: #000000; }
</style>
</head>
<body>
<p>Tutorialspoint.com</>
</body>
</html>
Here you have made p { color: #ff0000 !important; } mandatory, now this rule will always apply
even you have defined another rule p { color: #000000; }
In this chapter, we will see the details of each CSS filter. These filters may not work in your
browser.
Alpha Channel
The Alpha Channel filter alters the opacity of the object, which makes it blend into the background.
The following parameters can be used in this filter −
Parameter Description
style
The shape of the opacity gradient.
0 = uniform
1 = linear
2 = radial
3 = rectangular
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
Motion Blur
Motion Blur is used to create blurred pictures or text with the direction and strength. The following
parameters can be used in this filter −
Parameter Description
add True or false. If true, the image is added to the blurred image; and if false, the
image is not added to the blurred image.
direction
The direction of the blur, going clockwise, rounded to 45-degree increments. The
default value is 270 left.
0 = Top
45 = Top right
90 = Right
180 = Bottom
270 = Left
strength The number of pixels the blur will extend. The default is 5 pixels.
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<p>Text Example:</p>
Chroma Filter
Chroma Filter is used to make any particular color transparent and usually it is used with images.
You can use it with scrollbars also. The following parameter can be used in this filter −
Parameter Description
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/images/css.gif"
alt="CSS Logo" style="Filter: Chroma(Color = #FFFFFF)">
<p>Text Example:</p>
Parameter Description
offX Number of pixels the drop shadow is offset from the visual object, along the x-axis.
Positive integers move the drop shadow to the right, negative integers move the
drop shadow to the left.
offY Number of pixels the drop shadow is offset from the visual object, along the y-axis.
Positive integers move the drop shadow down, negative integers move the drop
shadow up.
positive If true, all opaque pixels of the object have a dropshadow. If false, all transparent
pixels have a dropshadow. The default is true.
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="Filter: Chroma(Color = #000000)
DropShadow(Color=#FF0000,
OffX=2,
OffY=2, Positive=1)">
<p>Text Example:</p>
Flip Effect
Flip effect is used to create a mirror image of the object. The following parameters can be used in
this filter −
Parameter Description
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="Filter: FlipH">
<p>Text Example:</p>
Glow Effect
Glow effect is used to create a glow around the object. If it is a transparent image, then glow is
created around the opaque pixels of it. The following parameters can be used in this filter −
Parameter Description
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="Filter: Chroma(Color = #000000) Glow(Color=#00FF00, Strength=20)">
<p>Text Example:</p>
Parameter Description
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="Filter: Gray">
<p>Text Example:</p>
Invert Effect
Invert effect is used to map the colors of the object to their opposite values in the color spectrum,
i.e., to create a negative image. The following parameter is used in this filter −
Parameter Description
Invert Maps the colors of the object to their opposite value in the color spectrum.
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/images/css.gif"
alt="CSS Logo"
style="Filter: invert">
<p>Text Example:</p>
Mask Effect
Mask effect is used to turn transparent pixels to a specified color and makes opaque pixels
transparent. The following parameter is used in this filter −
Parameter Description
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="FILTER: Chroma(Color = #000000) Mask(Color=#00FF00)">
<p>Text Example:</p>
Parameter Description
color
The color that you want the shadow to be.
direction
The direction of the blur, going clockwise, rounded to 45-degree increments. The
default value is 270 left.
0 = Top
45 = Top right
90 = Right
180 = Bottom
270 = Left
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="FILTER: Chroma(Color = #000000) Shadow(Color=#00FF00, Direction=225)">
<p>Text Example:</p>
Wave Effect
Wave effect is used to give the object a sine wave distortion to make it look wavy. The following
parameters can be used in this filter −
Parameter Description
add A value of 1 adds the original image to the waved image, 0 does not.
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="FILTER: Chroma(Color = #000000)
Wave(Add=0, Freq=1, LightStrength=10, Phase=220, Strength=10)">
<p>Text Example:</p>
Parameter Description
Example
<html>
<head>
</head>
<body>
<p>Image Example:</p>
<img src="/css/images/logo.png"
alt="CSS Logo"
style="Filter: Xray"">
<p>Text Example:</p>
We have currently two ways to specify media dependencies for style sheets −
Specify the target medium from a style sheet with the @media or @import at-rules.
Specify the target medium within the document language.
<style tyle="text/css">
<!--
@media print {
body { font-size: 10pt }
}
@media screen {
body { font-size: 12pt }
}
@media screen, print {
body { line-height: 1.2 }
}
-->
</style>
Following is an example −
<style tyle="text/css">
<!--
<!doctype html public "-//w3c//dtd html 4.0//en">
<html>
<head>
<title>link to a target medium</title>
<link rel="stylesheet" type="text/css" media="print, handheld" href="foo.css">
</head>
<body>
<p>the body...
</body>
</html>
-->
</style>
Value Description
print Intended for paged, opaque material and for documents viewed on screen in print
preview mode. Please consult the section on paged media.
tty Intended for media using a fixed-pitch character grid, such as teletypes, terminals,
or portable devices with limited display capabilities.
The CSS2 standard introduces some basic pagination control features that let authors help the
browser figure out how to best print their documents.
The CSS2 page model specifies how a document is formatted within a rectangular area -- the page
box -- that has a finite width and height. These features fall into two groups −
The page area − The page area includes the boxes laid out on that page. The edges of the
page area act as the initial containing block for layout that occurs between page breaks.
You can specify the dimensions, orientation, margins, etc., of a page box within an @page rule.
The dimensions of the page box are set with the 'size' property. The dimensions of the page area
are the dimensions of the page box minus the margin area.
For example, the following @page rule sets the page box size to 8.5 × 11 inches and creates '2cm'
margin on all sides between the page box edge and the page area −
<style type="text/css">
<!--
@page { size:8.5in 11in; margin: 2cm }
-->
</style>
You can use the margin, margin-top, margin-bottom, margin-left, and margin-right properties
within the @page rule to set margins for your page.
Finally, the marks property is used within the @page rule to create crop and registration marks
outside the page box on the target sheet. By default, no marks are printed. You may use one or
both of the crop and cross keywords to create crop marks and registration marks, respectively, on
the target print page.
auto − The page box will be set to the size and orientation of the target sheet.
landscape − Overrides the target's orientation. The page box is the same size as the target,
and the longer sides are horizontal.
portrait − Overrides the target's orientation. The page box is the same size as the target,
and the shorter sides are horizontal.
length − Length values for the 'size' property create an absolute page box. If only one
length value is specified, it sets both the width and height of the page box. Percentage values
are not allowed for the 'size' property.
In the following example, the outer edges of the page box will align with the target. The
percentage value on the 'margin' property is relative to the target size so if the target sheet
dimensions are 21.0cm × 29.7cm i. e. , A4, the margins are 2.10cm and 2.97cm.
<style type="text/css">
<!--
@page {
size: auto; /* auto is the initial value */
margin: 10%;
}
-->
</style>
The following example sets the width of the page box to be 8.5 inches and the height to be 11
inches. The page box in this example requires a target sheet size of 8.5" × 11" or larger.
<style type="text/css">
<!--
@page {
size: 8.5in 11in; /* width height */
}
-->
</style>
Once you create a named page layout, you can use it in your document by adding the page
property to a style that is later applied to an element in your document. For example, this style
renders all the tables in your document on landscape pages −
<style type="text/css">
<!--
@page { size : portrait }
@page rotated { size : landscape }
table { page : rotated }
-->
</style>
Due to the above rule, while printing, if the browser encounters a <table> element in your
document and the current page layout is the default portrait layout, it starts a new page and prints
the table on a landscape page.
<style type="text/css">
<!--
@page :left {
margin-left: 4cm;
margin-right: 3cm;
}
@page :right {
margin-left: 3cm;
margin-right: 4cm;
}
-->
</style>
You can specify the style for the first page of a document with the :first pseudo-class −
<style type="text/css">
<!--
@page { margin: 2cm } /* All margins set to 2cm */
@page :first {
margin-top: 10cm /* Top margin on first page 10cm */
}
-->
</style>
Controlling Pagination
Unless you specify otherwise, page breaks occur only when the page format changes or when the
content overflows the current page box. To otherwise force or suppress page breaks, use the
page-break-before, page-break-after, and page-break-inside properties.
Both the page-break-before and page-break-after accept the auto, always, avoid, left, and right
keywords.
The keyword auto is the default, it lets the browser generate page breaks as needed. The keyword
always forces a page break before or after the element, while avoid suppresses a page break
immediately before or after the element. The left and right keywords force one or two page
breaks, so that the element is rendered on a left-hand or right-hand page.
Using pagination properties is quite straightforward. Suppose your document has level-1 headers
start new chapters with level-2 headers to denote sections. You'd like each chapter to start on a
new, right-hand page, but you don't want section headers to be split across a page break from the
subsequent content. You can achieve this using following rule −
<style type="text/css">
<!--
h1 { page-break-before : right }
h2 { page-break-after : avoid }
-->
</style>
Use only the auto and avoid values with the page-break-inside property. If you prefer that your
tables not be broken across pages if possible, you would write the rule −
<style type="text/css">
<!--
table { page-break-inside : avoid }
-->
</style>
The orphans property specifies the minimum number of lines of a paragraph that must be
left at the bottom of a page.
The widows property specifies the minimum number of lines of a paragraph that must be
left at the top of a page.
Here is the example to create 4 lines at the bottom and 3 lines at the top of each page −
<style type="text/css">
<!--
@page{orphans:4; widows:2;}
-->
</style>
Aural rendering of documents is mainly used by the visually impaired. Some of the situations in
which a document can be accessed by means of aural rendering rather than visual rendering are
the following.
Learning to read
Training
Web access in vehicles
Home entertainment
Industrial documentation
Medical documentation
When using aural properties, the canvas consists of a three-dimensional physical space
soundsurrounds and a temporal space onemayspecifysoundsbefore, during, andafterothersounds.
The CSS properties also allow you to vary the quality of synthesized speech
voicetype, frequency, inflection, etc.
Here is an example −
<html>
<head>
<style tyle="text/css">
h1, h2, h3, h4, h5, h6 {
voice-family: paul;
stress: 20;
richness: 90;
cue-before: url("../audio/pop.au");
}
p{
azimuth:center-right;
}
</style>
</head>
<body>
<h1>Tutorialspoint.com</h1>
<h2>Tutorialspoint.com</h2>
<h3>Tutorialspoint.com</h3>
<h4>Tutorialspoint.com</h4>
<h5>Tutorialspoint.com</h5>
<h6>Tutorialspoint.com</h6>
<p>Tutorialspoint.com</p>
</body>
</html>
The azimuth property sets, where the sound should come from horizontally.
The elevation property sets, where the sound should come from vertically.
The cue-after specifies a sound to be played after speaking an element's content to delimit
it from other.
The pitch specifies the average pitch afrequency of the speaking voice.
The speak specifies whether text will be rendered aurally and if so, in what manner.
The stress specifies the height of "local peaks" in the intonation contour of a voice.
angle − Position is described in terms of an angle within the range -360deg to 360deg. The
value 0deg means directly ahead in the center of the sound stage. 90deg is to the right,
180deg behind, and 270deg (or, equivalently and more conveniently, -90deg) to the left.
leftwards − Moves the sound to the left and relative to the current angle. More precisely,
subtracts 20 degrees.
rightwards − Moves the sound to the right, relative to the current angle. More precisely,
adds 20 degrees.
Here is an example −
<style tyle="text/css">
<!--
h1 { azimuth: 30deg }
td.a { azimuth: far-right } /* 60deg */
#12 { azimuth: behind far-right } /* 120deg */
p.comment { azimuth: behind } /* 180deg */
-->
</style>
angle − Specifies the elevation as an angle, between -90deg and 90deg. 0deg means on the
forward horizon, which loosely means level with the listener. 90deg means directly overhead
and -90deg means directly below.
Here is an example −
<style tyle="text/css">
<!--
h1 { elevation: above }
tr.a { elevation: 60deg }
tr.b { elevation: 30deg }
tr.c { elevation: level }
-->
</style>
Here is an example −
<style tyle="text/css">
<!--
a {cue-after: url("dong.wav");}
h1 {cue-after: url("pop.au"); }
-->
</style>
Here is an example −
<style tyle="text/css">
<!--
a {cue-before: url("bell.aiff");}
h1 {cue-before: url("pop.au"); }
-->
</style>
<style tyle="text/css">
<!--
h1 {cue-before: url("pop.au"); cue-after: url("pop.au") }
h1 {cue: url("pop.au") }
-->
</style>
percentage − Refers to the inverse of the value of the speech-rate property. For example, if
the speech-rate is 120 words per minute i. e. awordtakeshalfasecond, or500ms, then a pause-after of
100% means a pause of 500 ms and a pause-after of 20% means 100ms.
Here is an example −
<style tyle="text/css">
<!--
/* pause-before: 20ms; pause-after: 20ms */
h1 { pause : 20ms }
frequency - Specifies the average pitch of the speaking voice in hertz Hz.
x-low, low, medium, high, x-high - These values do not map to absolute frequencies
since these values depend on the voice family.
number − A value between '0' and '100'. A pitch range of '0' produces a flat, monotonic
voice. A pitch range of 50 produces normal inflection. Pitch ranges greater than 50 produce
animated voices.
URI − The sound designated by this <uri> is played as a background while the element's
content is spoken.
mix − When present, this keyword means that the sound inherited from the parent element's
play-during property continues to play and the sound designated by the uri is mixed with it. If
mix is not specified, the element's background sound replaces the parent's.
repeat − When present, this keyword means that the sound will repeat if it is too short to fill
the entire duration of the element. Otherwise, the sound plays once and then stops.
Here is an example −
<style tyle="text/css">
<!--
blockquote.sad { play-during: url("violins.aiff") }
blockquote q { play-during: url("harp.wav") mix }
span.quiet { play-during: none }
-->
</style>
number − A value between '0' and '100'. The higher the value, the more the voice will carry.
A lower value will produce a soft, mellifluous voice.
none − Suppresses aural rendering so that the element requires no time to render.
normal − Uses language-dependent pronunciation rules for rendering an element and its
children.
Note the difference between an element whose 'volume' property has a value of 'silent' and an
element whose 'speak' property has the value 'none'. The former takes up the same time as if it
had been spoken, including any pause before and after the element, but no sound is generated.
The latter requires no time and is not rendered.
digits − Speak the numeral as individual digits. Thus, "237" is spoken "Two Three Seven".
continuous − Speak the numeral as a full number. Thus, "237" is spoken "Two hundred
thirty seven". Word representations are language-dependent.
none − Punctuation is not to be spoken, but instead rendered naturally as various pauses.
slower − Subtracts 40 words per minutes from the current speech rate.
The stress Property
This property specifies the height of "local peaks" in the intonation contour of a voice. English is a
stressed language, and different parts of a sentence are assigned primary, secondary, or tertiary
stress. The possible values are −
number − A value between '0' and '100'. The meaning of values depends on the language
being spoken. For example, a level of '50' for a standard, English-speaking male voice
averagepitch = 122Hz, speaking with normal intonation and emphasis would have a different
meaning than '50' for an Italian voice.
generic-voice − Values are voice families. Possible values are 'male', 'female', and 'child'.
Here is an example −
<style tyle="text/css">
<!--
h1 { voice-family: announcer, male }
p.part.romeo { voice-family: romeo, male }
p.part.juliet { voice-family: juliet, female }
-->
</style>
numbers − Any number between '0' and '100'. '0' represents the minimum audible volume
level and 100 corresponds to the maximum comfortable level.
percentage − These values are calculated relative to the inherited value, and are then
clipped to the range '0' to '100'.
silent − No sound at all. The value '0' does not mean the same as 'silent'.
Here is an example −
<style tyle="text/css">
<!--
P.goat { volume: x-soft }
-->
</style>
You have seen @media rule in previous chapters. This rule allows you to specify different style for
different media. So, you can define different rules for screen and a printer.
The example below specifies different font families for screen and print. The next CSS uses the
same font size for both screen as well as printer.
<style tyle="text/css">
<!--
@media screen
{
p.bodyText {font-family:verdana, arial, sans-serif;}
}
@media print
{
p.bodyText {font-family:georgia, times, serif;}
}
@media screen, print
{
p.bodyText {font-size:10pt}
}
-->
</style>
If you are defining your style sheet in a separate file, then you can also use the media attribute
when linking to an external style sheet −
CSS - LAYOUTS
Hope you are very comfortable with HTML tables and you are efficient in designing page layouts
using HTML Tables. But you know CSS also provides plenty of controls for positioning elements in a
document. Since CSS is the wave of the future, why not learn and use CSS instead of tables for
page layout purposes?
The following list collects a few pros and cons of both the technologies −
Most browsers support tables, while CSS support is being slowly adopted.
Tables are more forgiving when the browser window size changes - morphing their content
and wrapping to accommodate the changes accordingly. CSS positioning tends to be exact
and fairly inflexible.
Tables are much easier to learn and manipulate than CSS rules.
CSS is pivotal to the future of Web documents and will be supported by most browsers.
CSS is more exact than tables, allowing your document to be viewed as you intended,
regardless of the browser window.
Keeping track of nested tables can be a real pain. CSS rules tend to be well organized, easily
read, and easily changed.
Finally, we would suggest you to use whichever technology makes sense to you and use what you
know or what presents your documents in the best way.
CSS also provides table-layout property to make your tables load much faster. Following is an
example −
<table style="table-layout:fixed;width:600px;">
<tr height="30">
<td width="150">CSS table layout cell 1</td>
<td width="200">CSS table layout cell 2</td>
<td width="250">CSS table layout cell 3</td>
</tr>
</table>
You will notice the benefits more on large tables. With traditional HTML, the browser had to
calculate every cell before finally rendering the table. When you set the table-layout algorithm to
fixed, however, it only needs to look at the first row before rendering the whole table. It means
your table will need to have fixed column widths and row heights.
<style tyle="text/css">
<!--
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
-->
</style>
Now, we will define a column with yellow color and later, we will attach this rule to a <div>:
<style tyle="text/css">
<!--
#level0 {
background:#FC0;
}
-->
</style>
Upto this point, we will have a document with yellow body, so let us now define another division
inside level0 −
<style tyle="text/css">
<!--
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
-->
</style>
Now, we will nest one more division inside level1, and we will change just background color −
<style tyle="text/css">
<!--
#level2 {
background:#FFF3AC;
}
-->
</style>
Finally, we will use the same technique, nest a level3 division inside level2 to get the visual layout
for the right column −
<style tyle="text/css">
<!--
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {
background:#CCC;
}
-->
</style>
<style tyle="text/css">
body {
margin:9px 9px 0 9px;
padding:0;
background:#FFF;
}
#level0 {background:#FC0;}
#level1 {
margin-left:143px;
padding-left:9px;
background:#FFF;
}
#level2 {background:#FFF3AC;}
#level3 {
margin-right:143px;
padding-right:9px;
background:#FFF;
}
#main {background:#CCC;}
</style>
<body>
<div >
<div >
<div >
<div >
<div >
Final Content goes here...
</div>
</div>
</div>
</div>
</div>
</body>
Similarly, you can add a top navigation bar or an ad bar at the top of the page.
CSS - VALIDATIONS
Validation is the process of checking something against a rule. When you are a beginner, it is very
common that you will commit many mistakes in writing your CSS rules. How you will make sure
whatever you have written is 100% accurate and up to the W3 quality standards?
If you use CSS, your code needs to be correct. Improper code may cause unexpected results in
how your page looks or functions.
But if you want to validate your CSS style sheet embedded in an XHTML document, you should first
check that the XHTML you use is valid.
You can use the following tools to check the validity of your CSS.
W3C CSS Validator WorldWideWebConsortium, This validator checks your css by either file
upload, direct input, or using URI - one page at a time. This validator helps you to locate
all the errors in your CSS.
The WDG CSS check validator, lets you validate your css by direct input, file upload, and
using URI. Errors will be listed by line and column numbers if you have any. Errors usually
come with links to explain the reason of error.
A CSS validator checks your Cascading Style Sheets to make sure that they comply with the CSS
standards set by the W3 Consortium. There are a few validators which will also tell you which CSS
features are supported by which browsers sincenotallbrowsersareequalintheirCSSimplementation.
CSS3 - INTRODUCTION
Cascading Style Sheets CSS is a style sheet language used for describing the look and formatting of
a document written in a markup language.CSS3 is a latest standard of css earlier versionsCSS2.The
main difference between css2 and css3 is follows
Media Queries
Namespaces
Selectors Level 3
Color
CSS3 modules
CSS3 is collaboration of CSS2 specifications and new specifications, we can called this
collaboration is module.Some of the modules are shown below
Selectors
Box Model
Backgrounds
Image Values and Replaced Content
Text Effects
2D Transformations
3D Transformations
Animations
Multiple Column Layout
User Interface
#rcorners7 {
border-radius: 60px/15px;
background: #FF0000;
padding: 20px;
width: 200px;
height: 150px;
}
The following table shows the possible values for Rounded corners as follows −
Values Description
border-radius Use this element for setting four boarder radius property
border-top-left-radius Use this element for setting the boarder of top left corner
border-top-right-radius Use this element for setting the boarder of top right corner
border-bottom-right-radius Use this element for setting the boarder of bottom right corner
border-bottom-left-radius Use this element for setting the boarder of bottom left corner
Example
This property can have three values. The following example uses both the values:
<html>
<head>
<style>
#rcorners1 {
border-radius: 25px;
background: #8AC007;
padding: 20px;
width: 200px;
height: 150px;
}
#rcorners2 {
border-radius: 25px;
border: 2px solid #8AC007;
padding: 20px;
width: 200px;
height: 150px;
}
#rcorners3 {
border-radius: 25px;
background: url(paper.gif);
background-position: left top;
background-repeat: repeat;
padding: 20px;
width: 200px;
height: 150px;
}
</style>
</head>
<body>
<p >Rounded corners!</p>
<p >Rounded corners!</p>
<p >Rounded corners!</p>
</body>
</html>
<html>
<head>
<style>
#rcorners1 {
border-radius: 15px 50px 30px 5px;
background: #a44170;
padding: 20px;
width: 100px;
height: 100px;
}
#rcorners2 {
border-radius: 15px 50px 30px;
background: #a44170;
padding: 20px;
width: 100px;
height: 100px;
}
#rcorners3 {
border-radius: 15px 50px;
background: #a44170;
padding: 20px;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<p ></p>
<p ></p>
<p ></p>
</body>
<body>
#borderimg {
border: 10px solid transparent;
padding: 15px;
}
Values Description
border-image-repeat Used to set the boarder image as rounded, repeated and stretched
Example
Following is the example which demonstrates to set image as a border for elements
<html>
<head>
<style>
#borderimg1 {
border: 10px solid transparent;
padding: 15px;
border-image-source: url(/css/images/border.png);
border-image-repeat: round;
border-image-slice: 30;
border-image-width: 10px;
}
#borderimg2 {
border: 10px solid transparent;
padding: 15px;
border-image-source: url(/css/images/border.png);
border-image-repeat: round;
border-image-slice: 30;
border-image-width: 20px;
}
#borderimg3 {
border: 10px solid transparent;
padding: 15px;
border-image-source: url(/css/images/border.png);
border-image-repeat: round;
border-image-slice: 30;
border-image-width: 30px;
}
</style>
</head>
<body>
<p >This is image boarder example.</p>
<p >This is image boarder example.</p>
<p >This is image boarder example.</p>
</body>
</html>
#multibackground {
background-image: url(/css/images/logo.png), url(/css/images/border.png);
background-position: left top, left top;
background-repeat: no-repeat, repeat;
padding: 75px;
}
Values Description
background Used to setting all the background image properties in one section
Example
Following is the example which demonstrate the multi background images
<html>
<head>
<style>
#multibackground {
background-image: url(/css/images/logo.png), url(/css/images/border.png);
background-position: left top, left top;
background-repeat: no-repeat, repeat;
padding: 75px;
}
</style>
</head>
<body>
<div >
<h1>www.tutorialspoint.com</h1>
<p>Tutorials Point originated from the idea that there exists a class of
readers who respond better to online content and prefer to learn
new skills at their own pace from the comforts of their drawing
rooms. The journey commenced with a single tutorial on HTML in
2006 and elated by the response it generated, we worked our way
to adding fresh tutorials to our repository which now proudly
flaunts a wealth of tutorials and allied articles on topics ranging
from programming languages to web designing to academics and
much more..</p>
</div>
</body>
</html>
#multibackground {
background: url(/css/imalges/logo.png) left top no-repeat,
url(/css/images/boarder.png) right bottom no-repeat, url(/css/images/css.gif) left top
repeat;
background-size: 50px, 130px, auto;
}
As shown above an example, each image is having specific sizes as 50px, 130px and auto size.
CSS3 - COLORS
CSS3 has Supported additional color properties as follows −
RGBA colors
HSL colors
HSLA colors
Opacity
RGBA stands for Red Green Blue Alpha.It is an extension of CSS2,Alpha specifies the opacity of a
color and parameter number is a numerical between 0.0 to 1.0. A Sample syntax of RGBA as
shown below −
HSL stands for huge, saturation, lightness.Here Huge is a degree on the color wheel, saturation
and lightness are percentage values between 0 to 100%. A Sample syntax of HSL as shown below
−
HSLA stands for huge, saturation, lightness and alpha. Alpha value specifies the opacity as
shown RGBA. A Sample syntax of HSLA as shown below −
opacity is a thinner paints need black added to increase opacity. A sample syntax of opacity is as
shown below −
#g1 {background-color:rgb(255,0,0);opacity:0.6;}
#g2 {background-color:rgb(0,255,0);opacity:0.6;}
#g3 {background-color:rgb(0,0,255);opacity:0.6;}
<html>
<head>
<style>
#p1 {background-color:rgba(255,0,0,0.3);}
#p2 {background-color:rgba(0,255,0,0.3);}
#p3 {background-color:rgba(0,0,255,0.3);}
</style>
</head>
<body>
<p>RGBA colors:</p>
<p >Red</p>
<p >Green</p>
<p >Blue</p>
</body>
</html>
<html>
<head>
<style>
#g1 {background-color:hsl(120, 100%, 50%);}
#g2 {background-color:hsl(120,100%,75%);}
#g3 {background-color:hsl(120,100%,25%);}
</style>
</head>
<body>
<p>HSL colors:</p>
<p >Green</p>
<p >Normal Green</p>
<p >Dark Green</p>
</body>
</html>
<html>
<head>
<style>
#d1 {background-color:hsla(120,100%,50%,0.3);}
#d2 {background-color:hsla(120,100%,75%,0.3);}
#d3 {background-color:hsla(120,100%,25%,0.3);}
</style>
</head>
<body>
<p>HSLA colors:</p>
<p >Less opacity green</p>
<p >Green</p>
<p >Green</p>
</body>
</html>
<html>
<head>
<style>
#m1 {background-color:rgb(255,0,0);opacity:0.6;}
#m2 {background-color:rgb(0,255,0);opacity:0.6;}
#m3 {background-color:rgb(0,0,255);opacity:0.6;}
</style>
</head>
<body>
<p>HSLA colors:</p>
<p >Red</p>
<p >Green</p>
<p >Blue</p>
</body>
</html>
Types of gradients
Linear Gradientsdown/up/left/right/diagonally
Radial Gradients
Linear gradients
Linear gradients are used to arrange two or more colors in linear formates like top to bottom
Top to bottom
<html>
<head>
<style>
#grad1 {
height: 100px;
background: -webkit-linear-gradient(pink,green);
background: -o-linear-gradient(pink,green);
background: -moz-linear-gradient(pink,green);
background: linear-gradient(pink,green);
}
</style>
</head>
<body>
<div ></div>
</body>
</html>
Diagonal
Diagonal starts at top left and right button
<html>
<head>
<style>
#grad1 {
height: 100px;
background: -webkit-linear-gradient(left top, red , blue);
background: -o-linear-gradient(bottom right, red, blue);
background: -moz-linear-gradient(bottom right, red, blue);
background: linear-gradient(to bottom right, red , blue);
}
</style>
</head>
<body>
<div ></div>
</body>
</html>
<html>
<head>
<style>
#grad1 {
height: 100px;
width: 550px;
background: -webkit-radial-gradient(red 5%, green 15%, pink 60%);
background: -o-radial-gradient(red 5%, green 15%, pink 60%);
background: -moz-radial-gradient(red 5%, green 15%, pink 60%);
background: radial-gradient(red 5%, green 15%, pink 60%);
}
</style>
</head>
<body>
<div ></div>
</body>
</html>
It will produce the following result −
CSS3 - SHADOW
CSS3 supported to add shadow to text or elements.Shadow property has divided as follows
Text shadow
Box Shadow
Text shadow
CSS3 supported to add shadow effects to text. Following is the example to add shadow effects to
text
<html>
<head>
<style>
h1 {
text-shadow: 2px 2px;
}
h2 {
text-shadow: 2px 2px red;
}
h3 {
text-shadow: 2px 2px 5px red;
}
h4 {
color: white;
text-shadow: 2px 2px 4px #000000;
}
h5 {
text-shadow: 0 0 3px #FF0000;
}
h6 {
text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF;
}
p {
color: white;
text-shadow: 1px 1px 2px black, 0 0 25px blue, 0 0 5px darkblue;
}
</style>
</head>
<body>
<h1>Tutorialspoint.com</h1>
<h2>Tutorialspoint.com</h2>
<h3>Tutorialspoint.com</h3>
<h4>Tutorialspoint.com</h4>
<h5>Tutorialspoint.com</h5>
<h6>Tutorialspoint.com</h6>
<p>Tutorialspoint.com</p>
</body>
</html>
box shadow
Used to add shadow effects to elements,Following is the example to add shadow effects to element
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
padding: 15px;
background-color: red;
box-shadow: 10px 10px;
}
</style>
</head>
<body>
<div>This is a div element with a box-shadow</div>
</body>
</html>
text-overflow
word-wrap
word-break
Values Description
text-overflow used to determines how overflowed content that is not displayed is signaled
to users
word-wrap Used to break the line and wrap onto next line
Text-overflow
The text-overflow property determines how overflowed content that is not displayed is signaled to
users. the sample example of text overflow is shown as follows −
<html>
<head>
<style>
p.text1 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: clip;
}
p.text2 {
white-space: nowrap;
width: 200px;
border: 1px solid #000000;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</head>
<body>
<b>Original Text:</b>
<p>Tutorials Point originated from the idea that there exists a class of
readers who respond better to online content and prefer to learn new skills at
their own pace from the comforts of their drawing rooms.</p>
<b>Text overflow:clip:</b>
<p >Tutorials Point originated from the idea that there exists
a class of readers who respond better to online content and prefer to learn
new skills at their own pace from the comforts of their drawing rooms.</p>
<b>Text overflow:ellipsis</b>
<p >Tutorials Point originated from the idea that there exists
a class of readers who respond better to online content and prefer to learn
new skills at their own pace from the comforts of their drawing rooms.</p>
</body>
</html>
<html>
<head>
<style>
p.text1 {
width: 140px;
border: 1px solid #000000;
word-break: keep-all;
}
p.text2 {
width: 140px;
border: 1px solid #000000;
word-break: break-all;
}
</style>
</head>
<body>
<b>line break at hyphens:</b>
<p >Tutorials Point originated from the idea that there exists a class of
readers who respond better to online content and prefer to learn new skills at
their own pace from the comforts of their drawing rooms.</p>
<p >Tutorials Point originated from the idea that there exists a class of
readers who respond better to online content and prefer to learn new skills at
their
own pace from the comforts of their drawing rooms.</p>
</body>
</html>
p {
word-wrap: break-word;
}
Fonts Description
TrueType TrueType is an outline font standard developed by Apple and Microsoft in the
Fonts TTF late 1980s, It became most common fonts for both windows and MAC
operating systems
OpenType OpenType is a format for scalable computer fonts and developed by Microsoft
Fonts OTF
The Web Open WOFF is used for develop web page and developed in the year of 2009. Now it
Font Format is using by W3C recommendation.
WOFF
SVG SVG allow SVG fonts within SVG documentation. We can also apply CSS to SVG
Fonts/Shapes with font face property
Embedded EOT is used to develop the web pages and it has embedded in webpages so no
OpenType need to allow 3rd party fonts
Fonts EOT
<html>
<head>
<style>
@font-face {
font-family: myFirstFont;
src: url(/css/font/SansationLight.woff);
}
div {
font-family: myFirstFont;
}
</Style>
</head>
<body>
<div>This is the example of font face with CSS3.</div>
<p><b>Original Text :</b>This is the example of font face with CSS3.</p>
</body>
</html>
Fonts description
The following list contained all the fonts description which are placed in the @font-face rule −
Values Description
CSS3 - 2D TRANSFORMS
2D transforms are used to re-change the element structure as translate, rotate, scale, and skew
The following table has contained common values which are used in 2D transforms
Values Description
translatex, y Used to transforms the element along with x-axis and y-axis
The following examples are shown the sample of all above properties
Rotate 20 degrees
Box rotation with 20 degrees angle as shown below
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv {
/* IE 9 */
-ms-transform: rotate(20deg);
/* Safari */
-webkit-transform: rotate(20deg);
/* Standard syntax */
transform: rotate(20deg);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv {
/* IE 9 */
-ms-transform: rotate(-20deg);
/* Safari */
-webkit-transform: rotate(-20deg);
/* Standard syntax */
transform: rotate(-20deg);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
Skew X axis
Box rotation with skew x-axis as shown below
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#skewDiv {
/* IE 9 */
-ms-transform: skewX(20deg);
/* Safari */
-webkit-transform: skewX(20deg);
/* Standard syntax */
transform: skewX(20deg);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#skewDiv {
/* IE 9 */
-ms-transform: skewY(20deg);
/* Safari */
-webkit-transform: skewY(20deg);
/* Standard syntax */
transform: skewY(20deg);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
Matrix transform
Box rotation with Matrix transforms as shown below
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv1 {
/* IE 9 */
-ms-transform: matrix(1, -0.3, 0, 1, 0, 0);
/* Safari */
-webkit-transform: matrix(1, -0.3, 0, 1, 0, 0);
/* Standard syntax */
transform: matrix(1, -0.3, 0, 1, 0, 0);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv2 {
/* IE 9 */
-ms-transform: matrix(1, 0, 0.5, 1, 150, 0);
/* Safari */
-webkit-transform: matrix(1, 0, 0.5, 1, 150, 0);
/* Standard syntax */
transform: matrix(1, 0, 0.5, 1, 150, 0);
}
</style>
</head>
<body>
<div>
Tutorials point.com.
</div>
<div >
Tutorials point.com
</div>
</body>
</html>
CSS3 - 3D TRANSFORMS
Using with 3d transforms, we can move element to x-axis, y-axis and z-axis, Below example clearly
specifies how the element will rotate
Methods of 3D transforms
Below methods are used to call 3D transforms
Values Description
X-axis 3D transforms
The following an example shows the x-axis 3D transforms
<html>
<head>
<style>
div {
width: 200px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#myDiv {
-webkit-transform: rotateX(150deg);
/* Safari */
transform: rotateX(150deg);
/* Standard syntax */
}
</style>
</head>
<body>
<div>
tutorials point.com
</div>
<p>Rotate X-axis</p>
<div >
tutorials point.com.
</div>
</body>
</html>
Y-axis 3D transforms
The following an example shows the y-axis 3D transforms
<html>
<head>
<style>
div {
width: 200px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#yDiv {
-webkit-transform: rotateY(150deg);
/* Safari */
transform: rotateY(150deg);
/* Standard syntax */
}
</style>
</head>
<body>
<div>
tutorials point.com
</div>
<p>Rotate Y axis</p>
<div >
tutorials point.com.
</div>
</body>
</html>
Z-axis 3D transforms
The following an example shows the Z-axis 3D transforms
<html>
<head>
<style>
div {
width: 200px;
height: 100px;
background-color: pink;
border: 1px solid black;
}
div#zDiv {
-webkit-transform: rotateZ(90deg);
/* Safari */
transform: rotateZ(90deg);
/* Standard syntax */
}
</style>
</head>
<body>
<p>rotate Z axis</p>
<div >
tutorials point.com.
</div>
</body>
</html>
@keyframes
Keyframes will control the intermediate animation steps in CSS3.
The above example shows height, width, color, name and duration of animation with keyframes
syntax
Values Description
column-count Used to count the number of columns that element should be divided
Example
Below example shows the arrangement of text as new paper structure.
<html>
<head>
<style>
.multi {
/* Column count property */
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
For suppose, if user wants to make text as new paper without line, we can do this by removing style
syntax as shown below
.multi {
/* Column count property */
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
Some of the common properties which are using in css3 User interface.
Values Description
appearance Used to allow the user to make elements as user interface elements
nav-down Used to move down when you have pressed on down arrow button in keypad
nav-left Used to move left when you have pressed on left arrow button in keypad
nav-right Used to move right when you have pressed on right arrow button in keypad
nav-up Used to move up when you have pressed on up arrow button in keypad
horizontal
vertical
both
<html>
<head>
<style>
div {
border: 2px solid;
padding: 20px;
width: 300px;
resize: both;
overflow: auto;
}
</style>
</head>
<body>
<div>TutorialsPoint.com</div>
</body>
</html>
<html>
<head>
<style>
div {
margin: 20px;
padding: 10px;
width: 300px;
height: 100px;
border: 5px solid pink;
outline: 5px solid green;
outline-offset: 15px;
}
</style>
</head>
<body>
<div>TutorialsPoint</div>
</body>
</html>
since css2, the box property has worked like as shown below −
Means when you set the height and width, it appears little bit bigger then given size cause element
boarder and padding added to the element height and width.
Above sample is having same height and width with box-sizing:border-box. here result is shown
below.
Above elements are having same height and width with box-sizing:border-box so result is always
same for both elements as shown above.
CSS - RESPONSIVE
CSS3 Responsive Web Design
Responsive web design provides an optimal experience, easy reading and easy navigation with a
minimum of resizing on different devices such as desktops, mobiles and tabs)
Responsive structure
Below image shows the responsive structure of web pages.
<div >
<section>Section</section>
<aside>Aside</aside>
</div>
<div >
<section>Section</section>
<aside>Aside</aside>
</div>
<div >
<section>Section</section>
<aside>Aside</aside>
</div>
</body>
</html>
Media queries
Media queries is for different style rules for different size devices such as mobiles, desktops, etc.,
<html>
<head>
<style>
body {
background-color: lightpink;
}
@media screen and (max-width: 420px) {
body {
background-color: lightblue;
}
}
</style>
</head>
<body>
<p>If screen size is less than 420px, then it will show lightblue color, or else
it will show light pink color</p>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style>
body{
color:green;
}
</style>
</head>
<body>
<div >
<div >
<h1>Tutorials point</h1>
<p>Tutorials Point originated from the idea that there exists a class of
readers who respond better to online content and prefer to learn new skills at their own
pace from the comforts of their drawing rooms.</p>
</div>
<div >
<div >
<h2>Android</h2>
<p>Android is an open source and Linux-based operating system for mobile
devices such as smartphones and tablet computers. Android was developed by the Open
Handset Alliance, led by Google, and other companies.</p>
</div>
<div >
<h2>CSS</h2>
<p>Cascading Style Sheets, fondly referred to as CSS, is a simple design
language intended to simplify the process of making web pages presentable.</p>
</div>
<div >
<h2>Java</h2>
<p>Java is a high-level programming language originally developed by Sun
Microsystems and released in 1995. Java runs on a variety of platforms, such as Windows,
Mac OS, and the various versions of UNIX. This tutorial gives a complete understanding of
Java.</p>
</div>
</div>
</body>
</html>