HTML Layout Tech
HTML Layout Tech
There are four different techniques to create multicolumn layouts. Each technique has its
pros and cons:
• CSS framework
• CSS float property
• CSS flexbox
• CSS grid
CSS Frameworks
If you want to create your layout fast, you can use a CSS framework, like W3.CSS or Bootstrap.
It is common to do entire web layouts using the CSS float property. Float is easy to learn -
you just need to remember how the float and clear properties
work. Disadvantages: Floating elements are tied to the document flow, which may harm
the flexibility.
CSS Flexbox Layout
Use of flexbox ensures that elements behave predictably when the page layout must
accommodate different screen sizes and different display devices.
The CSS Grid Layout Module offers a grid-based layout system, with rows and columns,
making it easier to design web pages without having to use floats and positioning.
<!DOCTYPE html>
<html lang="en">
31
<head>
<title>CSS Template</title>
<meta charset="utf-8">
<style>
*{
box-sizing: border-box;
body {
header {
background-color: #666;
padding: 30px;
text-align: center;
font-size: 35px;
color: white;
nav {
float: left;
width: 30%;
background: #ccc;
padding: 20px;
32
nav ul {
list-style-type: none;
padding: 0;
article {
float: left;
padding: 20px;
width: 70%;
background-color: #f1f1f1;
section::after {
content: "";
display: table;
clear: both;
footer {
background-color: #777;
padding: 10px;
text-align: center;
color: white;
/* Responsive layout - makes the two columns/boxes stack on top of each other instead of
next to each other, on small screens */
nav, article {
width: 100%;
33
height: auto;
</style>
</head>
<body>
<p>In this example, we have created a header, two columns/boxes and a footer. On smaller
screens, the columns will stack on top of each other.</p>
<p>Resize the browser window to see the responsive effect (you will learn more about this
in our next chapter - HTML Responsive.)</p>
<header>
<h2>Cities</h2>
</header>
<section>
<nav>
<ul>
<li><a href="#">London</a></li>
<li><a href="#">Paris</a></li>
<li><a href="#">Tokyo</a></li>
</ul>
</nav>
<article>
<h1>London</h1>
<p>London is the capital city of England. It is the most populous city in the United
Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
<p>Standing on the River Thames, London has been a major settlement for two
millennia, its history going back to its founding by the Romans, who named it
Londinium.</p>
</article>
</section>
34
<footer>
<p>Footer</p>
</footer>
</body>
</html>
</body>
</html>
35
HTML LAYOUT (By using grid):-
<html>
<head>
<style>
.container{
margin:10px;
display:grid;
width:100%;
height:100%;
grid-template-columns:25% 50% 25% ;
grid-template-rows:15% 70% 15%;
grid-gap:4px;
}
.container div{
background-color: blue;
color:white;
font-size:30px;
display:flex;
justify-content: center;
align-items: center;
border:2px solid cyan;
}
.last,.item1{
grid-column:1/4;
}
</style>
</head>
<body>
<div class="container">
<div class="item1">
HEADER
</div>
<div>NAVBAR</div>
<div>CONTENT</div>
<div>ASIDE</div>
<div class="last">FOOTER</div>
</div>
</body>
</html>
LAYOUT USING FLEX:-
<html>
<head>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}