css sidebar code example

Example 1: how to fix the nav bar to the left of the page

.sidenav {
  height: 100%;
  width: 160px;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  overflow-x: hidden;
}

Example 2: html left menu

<! HTML, later CSS, then Javascript>

<!DOCTYPE html>
<html>
<head>
  <script src="YourScript.js"></script>
  <link href="YourCSSDocument.css" rel="stylesheet" type="text/css" media="screen" />
  <style>
  	body {font-family: "Lato", sans-serif;}
		.sidenav {height: 100%;width: 200px;position: fixed;z-index: 1;top: 0;left: 0;background-color: #464850;overflow-x: hidden;padding-top: 20px;}
		.sidenav a {padding: 6px 8px 6px 16px;text-decoration: none;font-size: 25px;color: #818181;display: block;}
		.sidenav a:hover {color: #f1f1f1;}
		.main {margin-left: 200px; /* Same as the width of the sidenav */font-size: 20px; /* Increased text to enable scrolling */padding: 0px 10px;}
		@media screen and (max-height: 450px) {
  		.sidenav {padding-top: 15px;}
        .sidenav a {font-size: 18px;}}
  </style>
</head>
  
<body>
	<div class="sidenav">
      <button onclick="Link1()" class="buttonActivMenu"><h3>Link 1</h3></a></button>
  	  <button onclick="Link2()" class="buttonMenuWithUndercategory"><h3>link2</h3></a></button>
	  <button onclick="Link2.1()" class="buttonSecondMenu">link2.1</a></button>
	  <button onclick="Link2.2()" class="buttonLastSecondMenu">link2.2</a></button>
	</div>

	<div class="main">
      Your text and images here
</div>
</body>
</html>

<! Now the CSS part:>

.buttonMenu {
  background-color: #464850;
  border: none;
  border-bottom: 1px solid lightgrey;
  color: lightgrey;
  text-align: left;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.2s;
  font-family:Arial;
  width: 200px;
  height: 50px;
}
.buttonMenu:hover {
  background-color: grey;
  color: black;
}
.buttonMenuWithUndercategory {
  background-color: #464850;
  border: none;
  border-bottom: 1px dashed lightgrey;
  color: lightgrey;
  text-align: left;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.2s;
  font-family:Arial;
  width: 200px;
  height: 50px;
}
.buttonMenuWithUndercategory:hover {
  background-color: grey;
  color: black;
}
.buttonSecondMenu {
  background-color: #464850;
  border: none;
  border-bottom: 1px dashed lightgrey;
  color: lightgrey;
  text-align: right;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.2s;
  font-family:Arial;
  width: 200px;
  height: 30px;
}
.buttonSecondMenu:hover {
  background-color: grey;
  color: black;
}
.buttonLastSecondMenu {
  background-color: #464850;
  border: none;
  border-bottom: 2px solid lightgrey;
  color: lightgrey;
  text-align: right;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.2s;
  font-family:Arial;
  width: 200px;
  height: 30px;
}
.buttonLastSecondMenu:hover {
  background-color: grey;
  color: black;
}
.buttonActivMenu {
  background-color: #797c88;
  border: none;
  border-bottom: 1px solid lightgrey;
  color: lightgrey;
  text-align: left;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  transition-duration: 0.2s;
  font-family:Arial;
  width: 200px;
  height: 50px;
}

<! Now javascript:>
  

function Link1(){
	window.location.href = "Link1";
}
function Link2(){
	window.location.href = "Link2";
}
function Link2.1(){
	window.location.href = "Link2.1";
}
function Link2.2(){
	window.location.href = "Link2.2";
}

Example 3: css position side by side

/************ How to position elements side by side? ***************/

/* We can use the property "display: inline" to place blocks of elements 
side by side, however, this does not allow an aesthetic alignment of all 
elements and we can't position a stack or group of two or more blocks 
beside another block. For example, placing a header and a paragraph on 
the left side of an image. For that, we use the "float" property.
This tells the other elements to make room for the element that is 
"floating" in a certain position, with the minimum disturbance to the 
flow of the document (packing everything tightly) */

img {
  float: left;   /* The image will float on the left side of the text*/
}

h3 {
  text-align: left;
}

p {
  text-align: left;  
}


/****************** How to isolate this effect? **********************/

/* For example, in case we want to keep the image and the header side 
by side, but making sure the paragraph is kept below the image. In this 
case, we can simply use a property that will prevent that any other 
element can be placed on the left of the <p> element. That way, as the 
pieces are stack throughout the document, the browser will simply put 
the <p> element below the "floating" image. */

img {
  float: left;
}

h3 {
  text-align: left;
}

p {
  text-align: left;
  clear: left;     /* This will stop any other element from being placed on it's left side */
}

Tags:

Css Example