<!doctype html>
<html>
<head>
<style>
p {
color: red;
}
</style>
</head>
<body>
<p>This is my paragraph.</p>
</body><html>
<head>
<title>Example </title>
</head>
<body>
<div style="width: 100px;">
</div>
</body>
</html>
<html>
<head>
<title>Example </title>
<link rel="stylesheet" href="yourcssfile.css">
</head>
<body>
</body>
</html>Everybody do it like this
selector {
property: value;
}
body {
background-color: #000;
}Never forget comas!
<html>
<head>
<title>Example </title>
</head>
<body>
<div>
<ul>
<li>
<a href="#">
<span> I am span </span>
</a>
</li>
</ul>
</div>
</body>
</html>
ul li a span {
display: block;
}
div span {
text-align: center;
}<span class="black"> Span </span>.black {
color: black;
}
/* with more specificity */
span.black {
color: black;
}<span id="black"> Span </span>#black {
color: black;
}
/* with more specificity */
span#black {
color: black;
}Only one ID per element
/* I am css comment :D */<html>
<head>
<title>Example </title>
</head>
<body>
<p> Paragraph </p>
<!-- I am HTML comment -->
</body>
</html>
<html>
<head>
<title>Example </title>
</head>
<body>
<p> Paragraph </p>
</body>
</html>
body {
font-size: 42px;
}All elements inside body will have font-size of 42px,
in our case that is paragraph
<html>
<head>
<title>Example </title>
</head>
<body>
<p> Paragraph </p>
</body>
</html>body {
font-size: 42px;
}
p {
font-size: 22px;
}Paragraph will have font-size of 22px
p, h1, h2, li, a, h5 {
font-size: 22px;
}Selecting more elements at once and giving them the same value for same property
p {
text-align: center;
}
/* some other styles */
p {
text-align: left;
}
h1 {
color: white;
font-family: Verdana;
display: inline-block;
color: black;
}Paragraph will finally be aligned to the left
Cascading from top to bottom
Heading will be black
<p class="home"> Home paragraph </p>p {
font-size: 22px;
}
.home {
font-size: 18px;
}Paragraph will have font size of 18px
<p class="home"> Home paragraph </p>p.home {
color: white;
}
p {
color: black;
}
Paragraph will be white
<p id="home" class="home"> Home paragraph </p>#home {
color: green;
}
.home {
color: black;
}
p.home {
color: red;
}
div p.home {
color: yellow;
}
Paragraph will be green
<p class="home myHome"> Home paragraph </p>/* stronger than .home selector */
.home.myHome {
color: green;
}
.home {
color: black;
}
/* stronger than .home.myHome selector */
p.home {
color: red;
}
Paragraph will be red
Source: (http://dustwell.com/div-span-inline-block.html)
https://jsfiddle.net/tonkec/8o9bs6ne/
<div class="box">
some content
</div>.box {
width: 200px;
margin: 20px;
border: 2px solid black;
padding: 20px;
}Width of the box will be the sum of width, margin, padding and border = 244px
<div class="box">
some content
</div>.box {
height: 200px;
margin: 20px;
border: 2px solid black;
padding: 20px;
}Height of the box will be the sum of width, margin, padding and border = 244px
<div class="box">
some content
</div>.box {
height: 200px;
width: 200px;
margin: 20px;
border: 2px solid black;
padding: 20px;
box-sizing: border-box;
/* default value is content-box */
}Height and the width of the box will be 200px
<div class="box">
some content
</div>.box {
/* default value for every element */
position: static;
}
Every HTML element is positioned static by default
<div class="box">
some content
</div>.box {
/* default value for every element */
position: static;
}
Element is not positioned in any special way.
<div class="static box">
<div class="static2 box">
</div>
</div>
<div class="box static3">
</div>.box {
width: 100px;
height: 100px;
position: static;
}
.static {
background: yellow;
}
.static2 {
background: green;
margin-left: 50px;
}
.static3 {
background: red;
}
https://jsfiddle.net/tonkec/1gzrokdg/
Elements sit on top of each other
<div class="box">
some content
</div>.box {
position: relative;
}
Relative position is like static position, no special positioning unless you give an element special properties
Elements sit on top of each other
<div class="box" id="box1">
some content
</div>
<div class="box" id="box2">
some content
</div>.box {
width: 100px;
height: 100px;
position: relative;
}
#box1 {
background-color: green;
border: 1px solid #000;
}
#box2 {
/*UNCOMMENT ME
top: -40px;
left: 100px;*/
background-color: yellow;
}https://jsfiddle.net/tonkec/gzk6t19d/
<div class="box">
some content
</div>.box {
position: absolute;
}
<div class="box">
some content
</div>.box {
position: absolute;
background: #000;
border: 1px solid #ccc;
width: 100px;
height: 100px;
top: 200px;
left: 200px;
}
https://jsfiddle.net/tonkec/pbs8v7kj/
<div class="relative box">
<div class="absolute box">
</div>
</div>box {
border: 1px solid #ccc;
width: 100px;
height: 100px;
}
.relative {
position: relative;
}
.absolute {
background: yellow;
top: 50px;
position: absolute;
left: 100px;
}
https://jsfiddle.net/tonkec/zw90d8yk/
<div class="absolute box">
<div class="relative box">
</div>
</div>.box {
border: 1px solid #ccc;
width: 100px;
height: 100px;
}
.absolute {
background: #000;
position: absolute;
}
.relative {
background: #aaa;
left: 300px;
top: 100px;
position: relative;
}
https://jsfiddle.net/tonkec/xaso1gvh/
<div class="absolute box">
<div class="absolute2 box">
</div>
</div>.box {
border: 1px solid #ccc;
width: 100px;
height: 100px;
}
.absolute {
background: #000;
position: absolute;
}
.absolute2 {
background: #aaa;
left: 300px;
top: 100px;
position: absolute;
}https://jsfiddle.net/tonkec/htazfgrz/
<div class="box">
some content
</div>.box {
position: fixed;
}
<div class="main">
<div class="fixed"></div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium numquam repellat neque nostrum rerum iste delectus molestiae cum eveniet optio consequuntur veritatis quae omnis! Reprehenderit itaque dignissimos consequuntur velit repellat a recusandae rem culpa! Doloribus neque quae consequuntur fugiat eveniet porro voluptatum ipsum expedita consectetur quis quam aliquid rem culpa.
</div>
</div>html,body {
height: 100%;
padding: 0;
margin: 0;
}
.main {
height: 1000px;
background: #ccc;
}
.fixed {
position: fixed;
background: #000;
width: 100%;
height: 50px;
margin-top: 40px;
}https://jsfiddle.net/tonkec/pr0bnwkd/
Floats
<header>
I am header
</header>
<aside class="left">
Left
</aside>
<aside class="right">
Right
</aside>header {
background: #26A65B;
height: 50px;
color: #fff;
text-align: center;
font-size: 22px;
}
aside {
width: 50%;
height: 100px;
}
.left {
float: left;
background: #81CFE0;
}
.right {
float: right;
background: #3498DB;
}https://jsfiddle.net/tonkec/6Ljf4npu/
Pure CSS animations:
CSS puns:
Danger: very funny :D
Weeeeee :D
Open your code editors
If you have any questions while learning, please don't hesitate to contact me. I'll be glad to answer your questions. I mean it :)