HTML CSS JS
Structure/layout
APNA
Style Logic
COLLEGE
Level 1
APNA
COLLEGE
Basics of CSS
CSS
Cascading Style Sheet
APNA
It is a language that is used to describe the style of a document.
COLLEGE
makeup
not a programming language, but a stying language
But for styling there should be some content, and that's why
we studied html before css
go to websites & remove css
Basic Syntax
APNA
Selector
h1 {
COLLEGE
color: red;
}
Property Value
semicolon shows that one property has ended & it is
important to put this even though it won't incurr error
Including Style
Inline
APNA
<h1 style="color: red"> Apna College </h1>
<style> tag COLLEGE
<style>
h1 {
color : red;
}
</style> Writing style directly inline on each element
Style is added using the <style> element in the same document
Including Style
External Stylesheet
APNA
Writing CSS in a separate document & linking it with HTML file
COLLEGE
best way
An inline style will override external and internal styles
Color Property
Used to set the color of foreground
color: red; APNA
color: pink;
COLLEGE
color: blue;
color: green;
Background Color Property
Used to set the color of background
background-color: red; APNA
COLLEGE
background-color: pink;
background-color: blue;
background-color: green;
Color Systems
RGB
color: rgb(255, 0, 0);
APNA
COLLEGE
color: rgb(0, 255, 0);
we don't have to think on colors on our own, we can just use
color picker tools online or search online
Color Systems
Hex (Hexadecimal)
color: #ff0000;
APNA
COLLEGE
color: #00ff00;
google color picker
Selectors
Universal Selector Class Selector
*{}
APNA .myClass { }
Element Selector
h1 { }
COLLEGE
Id Selector
#myId { }
Practice Set 1
Q1: Create a simple div with an id "box".
Add some text content inside the div.
APNA
Set its background color to blue.
COLLEGE
Q2: Create 3 headings with h1, h2 & h3.
Give them all a class "heading" & set color of "heading" to red.
Q3: Create a button & set its background color to :
green using css stylesheet
blue using <style> tag
pink using inline style
Text Properties
depends on head value
text-align
APNA
text-align : left / right / center
COLLEGE
text alignement doesn't mean align according to the page; i.e.
right does not mean on the page's right side
but the parent's right side
in css3, latest css -> start and end are introduced for language
support like arabic
Text Properties
text-decoration
APNA
text-decoration : underline / overline / line-through
COLLEGE
also add style, wavy, dotted or color like red
can also set to none for hyperlinks
Text Properties
font-weight
APNA
font-weight : normal / bold / bolder / lighter
font-weight : 100-900
COLLEGE
font-weight is to show how dark or light our text is
it can be names or in terms of numbers
values from 100 to 900
Text Properties
font-family
font-family : arial APNA
font-family : arial, roboto
COLLEGE
we can write multiple familiies as a
fall-back mechanism
APNA
COLLEGE
Units in CSS
Absolute
APNA
pixels (px)
96px = 1 inch
font-size: 2px;
COLLEGE
cm, mm, inch & others are also there
but pixels is the most used
Text Properties
line-height
line-height : 2px APNA
line-height : 3 COLLEGE
line-height : normal
Text Properties
text-transform
APNA
text-tranform : uppercase / lowercase / capitalize / none
COLLEGE
Practice Set 2
Q1: Create a heading centred on the page with all of its text capitalized by default.
APNA
Q2: Set the font family of all the content in the document to "Times New Roman".
COLLEGE
Q3: Create one div inside another div.
Set id & text "outer" for the first one & "inner" for the second one.
Set the outer div text size to 25px & inner div text size to 10px.
Level 2
APNA
COLLEGE
Box Model in
css
Box Model in CSS Width
Margin
Height
content
Height
Width APNABorder
Padding
Border
COLLEGE
Padding
Margin
Height
Height
content
By default, it sets the content area height of the element
div {
APNA
}
height: 50px; COLLEGE
Width
Width
content
By default, it sets the content area w
idth of the element
div {
APNA
}
width: 50px; COLLEGE
Border
content
Used to set an element's border
border-width : 2px; APNA Border
COLLEGE
border-style : solid / dotted / dashed
border-color : black;
Border
Shorthand
APNA
border : 2px solid black;
COLLEGE
Border
Used to round the corners of an element's outer border edge
border-radius : 10px; APNA
border-radius : 50%; COLLEGE
Padding
content
padding-left Padding
padding-right APNA
padding-top
padding-bottom
COLLEGE
Padding
Shorthand
padding: 50px; APNA
COLLEGE
padding: 1px 2px 3px 4px;
top | right | bottom | left -> clockwise
Margin Margin
content content
margin-right
margin-left APNA
margin-top
margin-bottom
COLLEGE
Margin
Shorthand
margin: 50px; APNA
COLLEGE
margin: 1px 2px 3px 4px;
top | right | bottom | left -> clockwise
Practice Set 3
Q1: Create a div with height & width of 100px.
Set its background color to green & the border radius to 50%.
APNA
Q2: Create the following navbar.
COLLEGE
60px
200px (height)
(gap)
25px
(text) #f08804
#0f1111
anchor tags (yellow)
(black)
(links)
APNA
COLLEGE
Display Property
display: inline / block / inline-block / none
APNA
inline - Takes only the space required by the element. (no margin/ padding)
COLLEGE
block - Takes full space available in width.
inline-block - Similar to inline but we can set margin & padding.
none - To remove element from document flow.
Visibility
visibility: hidden;
APNA
COLLEGE
Note : When visibility is set to none, space for the element is reserved.
But for display set to none, no space is reserved or blocked for the
element.
Alpha Channel
opacity (0 to 1)
RGBA
APNA
COLLEGE
color: rgba(255, 0, 0, 0.5);
color: rgba(255, 0, 0, 1);
Practice Set 4
Q1: Create a webpage layout with a header, a footer & a content area containing 3 divs.
Set the height & width of divs to 100px.
APNA
(add the previous navbar in the header)
COLLEGE
Q2: Add borders to all the divs.
Q3: Add a different background color to each div with an opacity of 0.5
Q4: Give the content area an appropriate height.
Level 3
APNA
COLLEGE
position
Units in CSS
Relative
% APNA
em COLLEGE
rem
more like vh, vw etc
Percentage (%)
It is often used to define a size as relative to an element's parent object.
APNA
COLLEGE
width : 33% ;
margin-left : 50% ;
show 50% of parent for h1
make one par & one child div
sometimes the relation is also to some other property not
just size, but that is not very commonly used
Em
APNA
COLLEGE
font size of child will be half of parent for 0.5em
for padding & margin it's relative to same element's font size
show both on same par & div
make a button with border & font-size
then change its border radius from pixel to ems to set a constant shape
Rem (Root Em)
APNA
COLLEGE
font size of child will be half of parent for 0.5em
for padding & margin it's relative to same element's font size
show both on same par & div
make a button with border & font-size
then change its border radius from pixel to ems to set a constant shape
Others
vh: relative to 1% viewport height
APNA
vw : relative to 1% viewport width
COLLEGE
Position
The position CSS property sets how an element is positioned in a document.
APNA
position : static / relative / absolute / fixed
COLLEGE
Position
static - default position (The top, right, bottom, left, and z-index properties have no effect)
APNA
relative - element is relative to itself. (The top, right, bottom, left, and z-index will work)
COLLEGE
absolute - positioned relative to its closest positioned ancestor. (removed from the flow)
fixed - positioned relative to browser. (removed from flow)
sticky - positioned based on user's scroll position
z-index
It decides the stack level of elements
Overlapping elements with a larger z-index cover those with a smaller one.
APNA
COLLEGE
z-index : auto (0)
z-index : 1 / 2 / ...
z-index : -1 / -2 / ...
show 3d space
Background Image
Used to set an image as background
APNA
COLLEGE
background-image : url("[Link]");
Background Size
APNA
background-size : cover / contain / auto
COLLEGE
cover = fits with no empty space
contain - fits with image fully visible
auto = original size
Practice Set 5
Qs: Create the following layout using the given html.
APNA
Give the div a height, width & some background image.
Use the appropriate position property for the div element to place it at the
COLLEGE
right end of the page. (The div should not move even on scroll)
Use z-index to place the div on top of page.
<p> lorem*5 </p>
<div> Love Nature </div>
<p> lorem*5 </p>
Level 4
APNA
COLLEGE
Basics of CSS
Flexbox
Flexible Box Layout
APNA
It is a one-dimensional layout method for arranging items in rows or columns.
COLLEGE
The Flex Model
flex container
APNA
COLLEGE main axis
flex item
cross axis
set display property of container to flex first
Flexbox Direction
It sets how flex items are placed in the flex container, along which axis and direction.
APNA
flex-direction : row; (default)
flex-direction : row-reverse;
flex-direction : column; COLLEGE
container fix doesnt depend on size
flex-direction : column-reverse;
Flex Properties
for Flex Container
justify-content : alignment along the main axis.
APNA
flex-start / flex-end / centre / space-evenly /
COLLEGE
flex-wrap : nowrap / wrap / wrap-reverse
align-items : alignment along the cross axis.
align-content : alignment of space between & around the content along cross-axis
Flex Properties
for Flex Item
align-self : alignment of individual along the cross axis.
APNA
flex-grow : how much a flex item will grow relative to the rest of the flex items if
space is available
COLLEGE
flex-shrink : how much a flex item will shrink relative to the rest of the flex items if
space is available
silmilar to align items but for individual element
and it overrides align items
grow & shrink take values like 0, 1, 2, 3
0 = doesn't grow at all
Practice Set 6
Qs: Create a navbar with 4 options in the form of anchor tags inside list items.
Now, use flexbox to place them all spaced equally in a single line.
APNA
COLLEGE
Qs: Use flexbox to center one div inside another div.
Qs: Which has higher priority - align-items or align-self?
Media Queries
Help create a responsive website
APNA
@media (width : 600px) {
div {
background-color : red;
COLLEGE
}
}
@media (min-width : 600px) {
div { in today's world everyone has a different device with thousand of
background-color : red; different screen sizes
if you built a website people will use it on laptop, big screen
} computers, an iphone, a big screen android phone or a small screen
one, an ipad
} even orientation is different like landscape or portrait
so it's important that layout looks good on all
so we need design to be responsive, respond to different screen sizes
& orientation
Media Queries
APNA
@media (min-width : 200px) and (min-width : 300px) {
div {
COLLEGE
background-color : red;
}
}
in today's world everyone has a different device with thousand of
different screen sizes
if you built a website people will use it on laptop, big screen
computers, an iphone, a big screen android phone or a small screen
one, an ipad
even orientation is different like landscape or portrait
so it's important that layout looks good on all
so we need design to be responsive, respond to different screen sizes
& orientation
Practice Set 7
Qs: Add a media query to implement the following:
APNA
the color of a div changes to green for viewport width less than 300px
the color of a div changes to pink for width between 300px & 400px
COLLEGE
the color of a div changes to red for width between 400px & 600px
the color of a div changes to blue for width above 600px
Level 5
APNA
COLLEGE
THESE ARE things that can be called advanced CSS
it is an important chapter because we should know
but practically itna aap use nahi karenge
but pata hona chahiye
Transitions
Transitions enable you to define the transition between two states of an element.
APNA
transition-property : property you want to transition (font-size, width etc.)
transition-duration : 2s / 4ms ..
COLLEGE
transition-timing-function : ease-in / ease-out / linear / steps ..
transition-delay : 2s / 4ms ..
to add some animation to elements
timing function is how the transition should be applied
show hover
Transition Shorthand
property name | duration | timing-function | delay
APNA
transition: font-size 2s ease-in-out 0.2s;
COLLEGE
to add some animation to elements
CSS Transform
Used to apply 2D & 3D transformations to an element
rotate
APNA
COLLEGE
transform: rotate(45deg);
to add some more animation to how an
element looks
rotate is simple to understand, will take
angles and degrees is most common
transform also applies to all content inside
CSS Transform
scale
transform: scale(2);
transform: scale(0.5); APNA
transform: scale(1, 2);
COLLEGE
transform: scaleX(0.5);
transform: scaleY(0.5);
x & y axis separately
CSS Transform
translate
APNA
transform: translate(20px);
transform: translate(20px, 50px);
COLLEGE
transform: translateX(20px);
transform: translateY(20px);
we can also give distance in other units like
% ems rems etc
show -ve values too
CSS Transform
skew
transform: skew (30deg);
APNA
COLLEGE
now that we have done it we can go and make some advanced 3d
objects using transform if we are good at math
Animation
To animate CSS elements
@keyframe myName {
from { font-size : 20px; } APNA
}
to { font-size : 40px; }
COLLEGE
Animation Properties
animation-name
animation-duration
APNA
COLLEGE
animation-timing-function
animation-delay
animation-iteration-count
animation-direction
Animation Shorthand
APNA
animation : myName 2s linear 3s infinite normal
COLLEGE
% in Animation
@keyframe myName {
0% { font-size : 20px; } APNA
}
50% { font-size : 30px; }
100% { font-size : 40px; } COLLEGE
Practice Set 8
Qs: Create a simple loader using CSS
APNA
Step1 : create a div with circular shape & a thick border from one end
(top/bottom/left/right)
COLLEGE
Step2 : To make it spin create an animation which transforms it from 0deg to 360deg
Step3 : Add the animation property to the loader with infinite duration