Web Essentials Note Unit 3
Web Essentials Note Unit 3
CSS3 - Introduction, Syntax, CSS Types, CSS Selectors, CSS Box Model, CSS Inheritance, CSS
Properties -Backgrounds and Borders, Text, Font Properties
CSS3 – Introduction
Why CSS?
Saves Time: Write CSS once and reuse it across multiple HTML pages.
Easy Maintenance: Change the style globally with a single modification.
Search Engine Friendly: Clean coding technique that improves readability for
search engines.
Superior Styles: Offers a wider array of attributes compared to HTML.
Offline Browsing: CSS can store web applications locally using an offline cache,
allowing offline viewing.
CSS Syntax
CSS consists of style rules that are interpreted by the browser and applied to the
corresponding elements. A style rule set includes a selector and a declaration block.
Selector: Targets specific HTML elements to apply styles.
Declaration: Combination of a property and its corresponding value.
// HTML Element
<h1>GeeksforGeeks</h1>
// CSS Style
h1 {
color: blue; font-size: 12px;
}
The CSS code targets the h1 element with the selector h1. The declaration { color: blue;
font-size: 12px; } sets the text color to blue and the font size to 12 pixels.
The selector points to the HTML element that you want to style.
The declaration block contains one or more declarations separated by semicolons.
Each declaration includes a CSS property name and a value, separated by a
colon.
Example
p{
color: blue;
text-align: center;
}
CSS declaration always ends with a semicolon, and declaration blocks are
surrounded by curly braces. In this example, all paragraph element (<p> tag) will be
centre-aligned, with a blue text color.
Ways to Apply CSS
1. Inline CSS: Directly within the HTML element using the style attribute.
2. Internal CSS: Within a <style> tag in the <head> section.
3. External CSS: The external CSS is the CSS linked to an HTML file using the
<link> tag.
What is Cascading?
Cascading in CSS refers to how styles are applied to elements based on priority
rules. When multiple CSS rules target the same element, the browser decides which
style to apply by following the cascading order: inline styles, internal styles, and
external stylesheets. The specificity of selectors, the order of CSS rules, and the use
of important tags further determine which styles take precedence. This allows
developers to layer styles and create more complex designs without overriding other
rules unnecessarily. Understanding this behavior is essential for efficient and
effective styling.
Key Advantages and Disadvantages of CSS
Here are some key advantages and disadvantages of css:
Advantages of CSS
Simplifies web design and maintenance.
Enhances website performance and user experience.
Supports responsive and adaptive designs for all devices.
Disadvantages of CSS
Cross-Browser Compatibility Issues : Different browsers may interpret CSS
differently, causing inconsistencies in design.
Complexity in Large Projects : As projects grow, CSS can become hard to manage,
leading to cluttered code and style conflicts.
Limited Dynamic Behavior : CSS is mainly for static design, so it can't handle
complex interactions or animations without JavaScript
Syntax
CSS is written as a rule set, which consists of a selector and a declaration block.
The basic syntax of CSS is as follows:
The selector is a targeted HTML element or elements to which we have to apply
styling.
The Declaration Block or " { } " is a block in which we write our CSS.
<html>
<head>
<style>
/* CSS Rule */
h1 {
color: blue;
/* Property: value */
font-size: 24px;
}
p{
color: green;
font-size: 16px;
}
</style>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a simple paragraph.</p>
</body>
</html>
In above Example,
h1: This selector targets all <h1> elements on the page. The style applied to <h1>
will set the text color to blue and the font size to 24px.
p: This selector targets all <p> elements. The text color will be green and the font
size will be 16px.
Selectors in CSS
Selectors define which HTML elements are styled. CSS offers several types of
selectors.
CSS Selectors
1. Universal Selector: Applies styles to all elements.
*{
margin: 0;
padding: 0;
}
2. Type Selector: Targets specific HTML elements.
h1 {
font-family: Arial, sans-serif;
}
3. Class Selector: Styles elements with a specific class attribute.
.box {
border: 1px solid black;
padding: 10px;
}
4. ID Selector: Targets a single element with a specific ID.
#header {
background-color: lightgray;
}
Declaration Block in CSS Syntax
Each declaration consists of a property and a value, separated by a colon, and each
declaration is followed by a semicolon:
1. Properties: Properties are the aspects of the selected elements you want to style
(like color, width, height, etc.).
1. color: Defines the text color.
2. background-color: Defines the background color of an element.
3. font-size: Sets the size of the font.
4. margin: Specifies the space around an element.
5. padding: Defines the space between the element's content and its border.
2. Values: Values define the specifics of the property you want to apply, such as a
color name, a number (e.g., 16px), or percentages (e.g., 50%).
Grouping and Nesting of CSS Selectors
You can group selectors to apply the same styles or nest them for hierarchical
targeting.
1. Grouping
h1, h2, h3 {
color: darkblue;
}
2. Nesting
ul li {
list-style-type: square;
}
2. Nesting
ul li {
list-style-type: square;
}
Pseudo-classes and Pseudo-elements
Pseudo-classes and pseudo-elements are used for styling specific states or parts of
elements. Pseudo classes target's the elements based on a particular state and pseudo
elements targets the elements on basis of a particular part of that element.
/*pseudo-class selector*/
a:hover {
color: green;
}
/*pseudo-element selector*/
p::first-line {
font-weight: bold;
}
CSS Types
CSS is used to style and layout web pages, controlling the appearance of HTML
elements. It allows developers to create visually appealing designs and ensure a
consistent look across a website.
Types of CSS
CSS can be implemented in three different ways:
Inline CSS
Internal or Embedded CSS
External CSS
1. Inline CSS
Inline CSS involves applying styles directly to individual HTML elements using the
style attribute. This method allows for specific styling of elements within the HTML
document, overriding any external or internal styles.
Now, let us understand with the help of the example:
<p style="color:#009900;
font-size:50px;
font-style:italic;
text-align:center;">
Inline CSS
</p>
Output
Inline CSS
2. Internal or Embedded CSS
Internal or Embedded CSS is defined within the HTML document's <style> element.
It applies styles to specified HTML elements. The CSS rule set should be within the
HTML file in the head section, i.e. the CSS is embedded within the <style> tag
inside the head section of the HTML file.
Now, let us understand with the help of the example:
<!DOCTYPE html>
<html>
<head>
<style>
.main {
text-align: center;
}
.GFG {
color: #009900;
font-size: 50px;
font-weight: bold;
}
.geeks {
font-style: bold;
font-size: 20px;
}
</style>
</head>
<body>
<div class="main">
<div class="GFG">Internal CSS</div>
<div class="geeks">
Implementation of Internal CSS
</div>
</div>
</body>
</html>
3. External CSS
External CSS contains separate CSS files that contain only style properties with the
help of tag attributes (For example class, id, heading, ... etc). CSS property is written
in a separate file with a .css extension and should be linked to the HTML document
using a link tag. It means that, for each element, style can be set only once and will
be applied across web pages.
Now, let us understand with the help of the example:
<!DOCTYPE html>
<html>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="main">
<div class="GFG">External CSS </div>
<div id="geeks">
This shows implementation of External CSS
</div>
</div>
</body>
</html>
Output
External CSS
When to Use Inline CSS
For quick fixes and small changes that don’t require a separate CSS file.
When you need to override other styles for a particular element.
If you’re working on emails or HTML-based applications where external CSS is
not supported.
When to Use Internal CSS
When designing a single-page website.
If you need better control over styling than inline CSS.
For small to medium-sized projects where external CSS might be unnecessary.
When to Use External CSS
For large-scale projects where multiple pages share a common design.
When maintainability and scalability are priorities.
To improve website performance and load times using CSS caching.
CSS Selectors
CSS Selectors are used to target HTML elements on your pages, allowing you to
apply styles based on their ID, class, type attributes, and more. There are mainly 5
types of selectors.
Basic CSS Selectors: These are used to target elements by tag, .class, or #
ID for fundamental styling needs.
Combinators: Ideal for styling elements based on their DOM relationships (e.g.,
parent-child or sibling relationships).
Group Selectors: These are used to apply the same styles to multiple unrelated
elements simultaneously.
Attribute Selectors: Perfect for styling elements based on specific attributes or
values, such as form inputs or links with certain prefixes or states.
Pseudo-Classes: Best for styling elements dynamically or interactively, like:
hover for user interaction, or:nth-child() for structural styling.
Types of CSS Selectors
Basic Selectors
Basic selectors in CSS are simple tools used to target specific HTML elements for
styling. These include selecting by element name (e.g., h1), class (.class Name), ID
(#idName), or universally (* for all elements).
1. Universal Selector (*): Selects all elements on the page and applies the same
style universally. For example, setting the font color for every element.
Example:
<html>
<head>
<style>
*{
color: red;
}
</style>
</head>
<body>
<h1>Header Text</h1>
<p>Paragraph Text</p>
</body>
</html>
2. Element Selector: Targets all elements of a specific type, such as paragraphs or
headers. For example, setting a common font size for all paragraphs
Example:
<html>
<head>
<style>
p{
font-size: 16px;
}
</style>
</head>
<body>
<p>This paragraph text will be styled with font size
16px.</p>
</body>
</html>
Simple Selectors:
Type Selector (Element Selector): Selects all elements with a specific HTML tag name
(e.g., p to select all paragraph elements).
Class Selector: Selects elements based on their class attribute, denoted by a period followed by
the class name (e.g., .my-class).
ID Selector: Selects a single, unique element based on its id attribute, denoted by a hash
symbol followed by the ID name (e.g., #my-id).
Universal Selector: Selects all elements on the page, denoted by an asterisk ( *).
Combinator Selectors:
Select elements based on their relationship to other elements in the document structure.
Descendant Combinator: Selects elements that are descendants of another element, separated
by a space (e.g., div p selects all p elements inside a div).
Child Combinator: Selects elements that are direct children of another element, separated by
a > (e.g., ul > li selects li elements that are direct children of a ul).
Adjacent Sibling Combinator: Selects an element that is immediately preceded by another
specific element, separated by a + (e.g., h1 + p selects the p element immediately following
an h1).
General Sibling Combinator: Selects all sibling elements that follow a specified element,
separated by a ~ (e.g., p ~ span selects all span elements that are siblings of a p and appear after
it).
Attribute Selectors:
Select elements based on the presence or value of their attributes (e.g., [type="text"] selects all
elements with a type attribute equal to "text").
Pseudo-classes:
Select elements based on their state or position in the document tree (e.g., :hover for styling on
mouse hover, :nth-child(n) for selecting elements based on their position).
The CSS Box Model defines how elements are sized, positioned, and rendered on a
webpage. When a browser loads an HTML document, it creates a DOM tree and
assigns a box to each element. This box calculates the element's
dimensions and position relative to its parent or the root <html> element, ensuring
accurate layout and spacing.
Box Model Component Layout
Content: The area where text or other content is displayed.
Padding: Space between the content and the element's border.
Border: A frame that wraps around the padding and content.
Margin: Space between the element's border and neighbouring elements.
<html>
<head>
<style>
div {
height: 200px;
width: 200px;
box-sizing: content-box;
padding-left: 20px;
padding-right: 20px;
border-left: 2px solid red;
border-right: 2px solid red;
}
</style>
</head>
<body>
<div>Hello GFG</div>
</body>
</html>
This code will create a box model with a border line width of 0.4px always and
border-area of 1.6px and padding area as 20px width on both sides of the content
area.
Content Area (Width) :The width of the content area is fixed at 200px.
Padding
Padding adds extra space inside the element, around the content.
Padding Left: 20px
Padding Right: 20px
Total padding width: 20px + 20px = 40px
Border
The border, being solid, has a width, but it is calculated differently from the
padding.
Line Width of Border: 0.4px (the width of the line itself)
Area of Border: 1.6px (the actual space the border occupies visually)
Border width for both sides: 1.6px (left) + 1.6px (right) = 3.2px
Total Width
Total width of the element can be calculated by adding the padding and border
areas to the content area width.
Formula for Total Width = (Padding-Left + Padding-Right + Border-Area-Left +
Border-Area-Right) + Content Area Width
Total Width = (20px + 20px + 1.6px + 1.6px) + 200px = 243.2px
The total width of the element becomes 243.2px.
The reason the total width is increased unexpectedly is because box-sizing: content-
box applies the width to the content area only .The padding and border are added
outside the content area, leading to an increase in the overall width and height of the
element.
2. Border-Box
When the box-sizing property is set as border-box the actual dimensions of the
element's remains same as that of the actual dimensions set by the user. The
difference it makes is just that the size of the content area get's altered in a manner
so that it could accommodate the padding area and the border area so the resultant
could be equal to the actual dimensions entered by the user.
<html>
<head>
<style>
div {
height: 200px;
width: 200px;
box-sizing:border-box;
padding-left: 20px;
padding-right: 20px;
border-left: 2px solid red;
border-right: 2px solid red;
}
</style>
</head>
<body>
<div>Hello GFG</div>
</body>
</html>
This code will create a box model by altering the dimensions specifically the width
of the content area to accomodate the padding and the border area with the border
line-width.
Width of Border and Padding Border width : 0.4px (line width) and 1.6px +
1.6px = 3.2px (total border area).
Padding width : 20px + 20px = 40px.
User-Entered Width : The width entered by the user is 200px, which applies to
the content area only when box-sizing: content-box is used.
Box-Sizing Behavior :The box-sizing: content-box property adds the padding
and border outside the content area, causing the total width to increase.
Adjusting Content Area Width : To ensure the total width remains 200px, the
extra width from padding and borders (40px + 3.2px = 43.2px) is subtracted from
the total width.
New content area width : 200px - 43.2px = 156.8px.
Final Width Calculation : The final total width is: 156.8px (content area) +
40px (padding) + 3.2px (border) = 200px, ensuring the user’s entered width
remains unchanged.
CSS Inheritance
Inheritance, a fundamental concept in object-oriented programming (OOP), mirrors
real-life inheritance where children inherit traits from parents.
CSS Inheritance: In CSS inheritance, the child element will naturally inherit
properties from its parent element.
Syntax:
<style>
#parentclass {
color: red;
}
</style>
<div id="parentclass">
Parent Div
<div id="div1Child">Child Div 1</div>
<div id="div2Child">Child Div 2</div>
</div>
Here parentclass passes a CSS styling done as color to be red. Whereas the child
classes div1Child and div2Child have no ruleset of color: red set to them but they
got displayed in red.
It is because the child div’s 1 and 2 inherited the properties from the parent i.e.
parentclass.
<html>
<head>
<style>
#parentclass {
color: black;
}
#child1 {
color: green;
}
#childchild1 {
color: red;
}
</style>
</head>
<body>
<div id="div1">
Parent
<div id="child1">
Child 1
<div id="childchild1">
Child Child 1
<div id="childchildchild1">
Child Child Child
</div>
</div>
<div id="childchild2">
Child Child 2
</div>
</div>
<div id="child2">
Child 2
</div>
</div>
</body>
</html>
Output
CSS Inherit:
We use inherit on a CSS property for taking up its parent's element property. Let’s
say we have a code:
<html>
<head>
<style>
#parentclass {
padding: 30px;
color: red;
}
#Child {
padding: inherit;
}
</style>
</head>
<body>
<div id="parentclass">
Parent
<div id="Child">Child</div>
</div>
</body>
</html>
Output:
In this way, we inherit noninheritable CSS properties using inherit. Only the direct
child element of a parent element can inherit it but the grandchild cannot. Instead, it
will resort to its original browser computed height.
CSS Properties
CSS properties are the foundation of web design, used to style and control the
behaviour of HTML elements. They define how elements look and interact on a
webpage.
Used to control layout, colors, fonts, spacing, and animations on web pages.
It is essential for making web pages responsive and accessible across devices.
Help maintain consistency and efficiency in web design and development.
Example: In this example, we will see the use of many properties usage, all the
keywords mentioned inside of { and } braces are properties.
<html>
<head>
<style>
#myDIV {
width: 400px;
height: 299px;
background-color: green;
background-repeat: no-repeat;
background-image:
url("https://media.geeksforgeeks.org/wp-content/uploads/ge
eksforgeeks-logo.png");
background-blend-mode: normal;
background-size: contain;
}
</style>
</head>
<body>
<div id="myDIV"></div>
</body>
</html>
CSS Properties
The list of complete CSS properties is given below.
Properties Descriptions
@charset Rule Specifies the character encoding used in the style sheet.
all Set all the elements' values to their initial or inherited values.
animation-fill-mode It defines how styles are applied before and after animation.
animation-play-
It specifies whether the animation is running or paused.
state
animation-timing-
It specifies how animation makes transitions through keyframes.
function
background- Sets whether a background image scrolls with the rest of the page
attachment or it will be fixed.
Set background images for an element, You can set one or more
background-image
images as well.
background-
Sets the initial position for the background image.
position
Properties Descriptions
border-bottom-
Set the color of the bottom border of an element.
color
border-bottom-left-
Define the radius of the bottom left corner of the border.
radius
border-bottom- Define the radius of the right bottom corner of the border of a
right-radius given element.
border-bottom-
Set a specific width to the bottom border of an element.
width
border-collapse Set the borders of the cell present inside the table and tells..
border-image-
It is a shorthand property used to specify the distance.
outset
border-image-
It is used to scaling and tiling the border images.
repeat
Properties Descriptions
border-left Set the width, style, and color of the left border.
border-right Set the width, style, and color of the right border.
border-top Set the width, style, and color of the top border.
border-top-left-
It specifies the radius of the top left border corner of an element.
radius
Properties Descriptions
Sets the border line style for all four sides of an element’s
border-style
border.
border-width Set the border line width of all four sides of an element.
Defines how the user should calculate the total width and height
box-sizing
of an element.
Set the color of the cursor in inputs, text area, or other editable
caret-color
areas.
clear Specify which side of floating elements are not allowed to float.
columns Set the number of columns and the width of the columns.
Define the width, style, and color of the rules between the
column-rule
columns.
Set the style of the column rule between the columns on a multi-
column-rule-style
column layout.
Specifies how much the item will grow compared to other items
flex-grow
inside that container.
Specifies how much the item will shrink compared to other items
flex-shrink
inside that container.
font-size-adjust Adjusts the font size based on the height of the lowercase.
Set the weight or thickness of the font being used with the
font-weight
HTML Text.
grid-column Specify a grid item's size and location within a grid column.
grid-column-gap Set the gap size between the columns in a grid layout.
grid-gap Sets the gap size between the rows and columns in a grid layout.
Properties Descriptions
grid-template-
Set the number of columns and size of the columns of the grid.
columns
grid-template-rows Set the number of rows and height of the rows in a grid.
line-height Set the amount of space used for lines, such as in the text.
list-style-image Set images that will be used as the list item marker.
margin-left Set the width of the margin on the left of the desired element.
Define the position at which the user is looking 3D object i.e. the
perspective-origin
vanishing point of the 3D object.
quotes Set the quotation mark for quotations used in the sentence.
Return the CSS Rule Object that represents a CSS rule-set that
parentRule
contains a selector and declaration block.
text-align-last Set the last line of the paragraph just before the line break.
Properties Descriptions
text-decoration-
Set the text decoration of an element.
style
text-indent Set the indentation of the first line in each block of text.
text-overflow Specify that some text has overflown and is hidden from view.
Set the top position of an element. The top property varies with
top
the position of the element.
CSS transition
It is used to make some transition effects.
Property
user-select It specifies whether the text can be selected by the user or not.
vertical-align Set the vertical alignment of the table box or inline element.
Specify how to break the word when the word reached at end of
word-break
the line.
word-wrap It breaks long words and wraps them into the next line.
z-index Define the order of elements if they overlap with each other.
Backgrounds
The CSS background is the area behind an element's content, which can be a color,
image, or both. The background property lets you control these aspects, including
color, image, position, and repetition.
You can try different types of background here-
Example: This example displays the use of a CSS background.
<html>
<head>
<style>
body {
background: lightblue url(
"https://media.geeksforgeeks.org/wp-content/cdn-
uploads/20190417124305/250.png")
no-repeat center fixed;
}
</style>
</head>
<body></body>
</html>
background- Determines the initial position of the background image within the
position element.
Background-position Property
The background-position property in CSS is used to set the starting position of the
background image within the element. You can use values like top, left, center, or
specify exact pixel/percentage values to position the image.
Syntax:
body {
background-repeat:no repeat;
background-position:left top;
}
<html>
<head>
<style>
body {
background-image:
url(
"https://media.geeksforgeeks.org/wp-content/cdn-uploads/20190417124305/250.png"
);
background-repeat: no-repeat;
background-position: center;
</style>
</head>
<body>
<h1>Geeksforgeeks</h1>
</body>
</html>
Borders
Borders in CSS are used to create a visible outline around an element. They can be
customized in terms of
Width: The thickness of the border.
Style: The appearance of the border (solid, dashed, dotted, etc.).
Color: The color of the border.
You can try different types of borders here-
Syntax:
element {
border: 1px solid black;
}
Here, the border is defined as 1 pixel wide, solid in style, and black in color.
<html>
<head>
<style>
.simple-border {
border: 2px solid black;
padding: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="simple-border">This div has a simple black
border.</div>
</body>
</html>
This code creates a div element with a simple black border around it, 2px wide. The
content inside the div will have 20px of padding, which provides space between the
border and the text. The text is centered using text-align: center.
CSS Border Properties
CSS provides several properties to control and customize borders:
Property Description
border-width Sets the width of the border (in pixels, points, or other units).
<html>
<head>
<style>
p.dotted {
border-style: dotted;
}
p.dashed {
border-style: dashed;
}
p.solid {
border-style: solid;
}
p.double {
border-style: double;
}
</style>
</head>
<body>
<p class="dotted">A dotted border.</p>
<p class="dashed">A dashed border.</p>
<p class="solid">A solid border.</p>
<p class="double">A double border.</p>
</body>
</html>
Text
CSS Text Formatting plays a crucial role in web design, allowing developers to
control the visual presentation of text elements. Nearly 70% of a webpage's
content is text, making effective formatting essential for readability and user
engagement.
CSS lets you adjust font properties, text alignment, spacing, and decorations.
It helps in creating visually appealing text and improving the user experience.
Various text-related properties can be combined to achieve unique text styles and
layouts.
<html>
<head>
<style>
.initials {
font-size: 40px;
font-weight: bold;
color: #4CAF50;
text-transform: uppercase;
font-family: Arial, sans-serif;
}
</style>
</head>
<body>
<p class="initials">M.B.</p>
</body>
</html>
CSS Text Formatting Properties
These are the following text formatting properties.
Property Description
Sets the color of the text using color name, hex value, or RGB
text-color
value.
Property Description
text-decoration- Sets color of text decorations like overlines, underlines, and line-
color throughs.
<body>
<div class="gfg">GeeksforGeeks</div>
</body>
</html>
Similarly, if anyone wants to change to font style from normal(straight) ones to italics
(tilted), it can also be achieved. There are numerous things possible by making
changes in the font properties. And for that, we need to learn about the different font
properties in CSS.
In the end, after discussing all the above properties, We'll discuss the CSS font
shorthand property, which will help us to combine & specify all the above properties
in a single property.
Now, let us discuss all the CSS Font properties one by one.
Similarly, if anyone wants to change to font style from normal(straight) ones to italics
(tilted), it can also be achieved. There are numerous things possible by making
changes in the font properties. And for that, we need to learn about the different font
properties in CSS.
CSS Font-color
CSS font-size
CSS font-style
CSS font-variant
CSS font-weight
CSS font-family
CSS font-stretch
CSS line-height
In the end, after discussing all the above properties, We'll discuss the CSS font
shorthand property, which will help us to combine & specify all the above properties
in a single property.
Now, let us discuss all the CSS Font properties one by one.
1. Color name - red, blue, green, etc. So, it will make the elements of that color.
2. Hex code - It is the hexadecimal representation of a color. The code is made as
per the Red, Blue Green values present in color and is preceded by
a hash(#), #RRGGBB.eg-#ff00f2.
3. rgb() - It is one of the most common methods. It takes the intensity of the Red-
Green-Blue color value that ranges from 0-255 or from 0% to 100%.
eg.- rgb(0,255,0).
4. hsl() - It is a method that takes the value of Hue, Saturation, and Lightness of
the color. It can be useful when you can select a color based on your
imagination. eg.- hsl(59, 100%, 50%)
Example: Here, In this example, we are making four heading by using the different
heading elements of HTML (h1,h2,h3,h4), and then we will select those elements and
apply different colors using different methods of applications. We will apply blue to
heading 1, purple to heading 2, green to heading 3, and yellow to heading 4.
<!DOCTYPE html>
<html>
<head>
<style>
h1 {
color: blue;
}
h2 {
color: #ff00f2; //purple
}
h3 {
color: rgb(0, 255, 0); // green
}
h4 {
color: hsl(59, 100%, 50%); // yellow
}
</style>
</head>
<body>
</body>
</html>