Related
I am taking a course in web development and I've gotten stuck, I know it has something to do with the containers and flexing but I cannot for the life of me figure it out, I've seen multiple examples and they are all similar to my HTML, CSS.
Here is my github with all, the necessary files (only index.html and styles.css have been edited so focus on those). Here is the github hosted page.
Edit : Snippet
body {
color: #515a69;
background-color: #b0b7c2;
font-size: 18px;
font-family: 'Roboto', sans-serif;
}
/* Header */
#header-nav {
background-color: #d3dceb;
border-radius: 0;
border: 0;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
padding-top: 10px;
padding-bottom: 10px;
height: 70px;
}
#header-nav .container { /* Fixes margins to match professors examples */
margin-left: 0px;
margin-right: 0px;
}
#nav-list {
background-color: #515a69;
text-align: center;
}
.navbar {
z-index: 100;
}
#nav-list a{
background-color: #515a69;
text-align: center;
padding-top: 10px;
padding-right: 10px;
padding-left: 0px;
}
#collapsable-nav {
border: 0;
}
li{
background-color: #515a69;
border: 2px black;
padding-bottom: 10px;
padding-top: 10px;
}
.navbar-brand h1 { /* Restaurant name */
color: #515a69;
font-size: 1.5em;
font-weight: bold;
margin-top: -5px;
}
.navbar-brand a:hover, .navbar-brand a:focus {
text-decoration: none;
}
.navbar-header button.navbar-toggle, .navbar-header .icon-bar {
border: 1px solid #61122f;
}
.navbar-header button.navbar-toggle {
clear: both;
margin-top: -45px;
}
/* Main Content */
#maincontent div{
background-color: #7e588d;
border: 2px solid black;
height: 1000px;
overflow: auto;
}
div .container {
width: 90%;
}
.row {
color: #d3dceb;
margin-left: 0;
margin-right: 0;
}
p {
padding-left: 10px;
padding-right: 10px;
overflow: auto;
}
#our-menu a, #our-menu a-hover{
text-style: none;
text-decoration: none;
color: black;
}
#sushi h3, #beef h3, #chicken h3{
font-weight: bold;
padding-bottom: 10px;
}
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<!doctype html>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Food, LLC</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/styles.css">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
</head>
<body>
<header>
<nav id="header-nav" class="navbar static-top navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<div class="navbar-brand pull-left">
<h1>Food, LLC</h1>
</div>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapsable-nav" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div id="collapsable-nav" class="collapse-in navbar-collapse">
<ul id="nav-list" class="nav navbar-nav navbar-rights">
<li class="visible-xs">
<br>Chicken
</li>
<li class="visible-xs">
<br>Beef
</li>
<li class="visible-xs">
<br>Sushi
</li>
</ul><!-- #nav-list -->
</div><!-- .collapse .navbar-collapse -->
</div>
</div> <!-- Navbar Header -->
</div> <!-- Container -->
</nav>
</header>
<section id="our-menu">
<h1 class="text-center">Our Menu</h1>
</section>
<div class="row">
<div id="maincontent" class="container">
<div id="chicken-container" class="col-xs-12 col-sm-6 col-md-4">
<section id="chicken">
<h3 class="text-center">Chicken</h3>
<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ac nunc vitae metus hendrerit convallis. Vestibulum nulla eros, molestie non feugiat ornare, rhoncus ac eros. Praesent maximus risus sed purus vestibulum porttitor. Nam risus ipsum, tristique et porta vitae, fermentum non elit. Vivamus sollicitudin sem sit amet turpis ornare, sed imperdiet magna pretium. Nullam eu ultricies orci, non aliquet nibh. Donec a auctor metus. Phasellus eu tellus tellus. Sed mi odio, pellentesque in velit in, tempor vestibulum massa. Sed nulla justo, interdum nec tincidunt nec, tincidunt non libero. Aliquam sapien arcu, blandit vel porta quis, porta vel ante. In sollicitudin tortor lobortis vestibulum blandit. Aenean velit neque, consequat eget mauris ac, consequat facilisis lectus. Sed pulvinar, orci sed commodo facilisis, erat diam facilisis magna, vitae luctus metus eros a magna. Fusce hendrerit vitae nisi facilisis viverra. Cras suscipit purus ut turpis tempor, non iaculis mauris imperdiet.
Nunc elementum lobortis lectus non dapibus. Sed augue nunc, semper vel ipsum nec, fermentum interdum metus. Proin et elementum nisi, nec fermentum velit. Aliquam congue efficitur diam id vestibulum. Aliquam ac tortor auctor, convallis ligula at, suscipit elit. Ut congue, turpis in elementum tincidunt, mauris odio imperdiet diam, vitae porta lectus lacus eu dolor. Vivamus tellus nunc, molestie quis iaculis nec, volutpat ut mi. Aenean mattis magna sit amet diam convallis, id consectetur risus placerat. Suspendisse et ex id dui porta vestibulum ac ut felis. Integer tristique, sapien a ultricies laoreet, nibh nisl sagittis augue, tincidunt faucibus libero dui vitae ante. Proin rutrum nulla sed ultricies fringilla. Fusce vel rutrum enim, suscipit porttitor nisl.
Sed pharetra egestas orci in rhoncus. Donec eros libero, euismod pretium varius sodales, pellentesque vel mi. Donec semper consectetur vulputate. In dapibus placerat est fermentum posuere. Donec mi felis, gravida in felis eu, sagittis consectetur nisi. Integer sollicitudin sagittis dui, eget ullamcorper erat euismod at. Proin tincidunt ullamcorper tortor, et vestibulum leo accumsan eget. Mauris porttitor, ante ut accumsan tincidunt, ex odio commodo arcu, sit amet lacinia ante risus ac mauris. Nunc blandit lorem cursus, euismod tellus eget, suscipit ligula.
Praesent imperdiet semper metus vel ultricies. Cras vel condimentum tellus. Vestibulum eget turpis nec nunc suscipit vestibulum ac vitae ligula. Curabitur bibendum varius rhoncus. Fusce mi ante, fringilla nec imperdiet non, feugiat bibendum dui. Donec eleifend, massa rhoncus luctus vehicula, felis ante dapibus dolor, nec imperdiet mi ipsum ut sem. Sed facilisis risus lectus, ut ultrices enim hendrerit id. Cras eget egestas erat. Duis feugiat at risus quis commodo. Fusce fermentum lacus at metus viverra, quis feugiat purus sagittis. Curabitur at sollicitudin felis. Duis venenatis leo ac felis bibendum porta.
Donec sodales varius dui eget pharetra. Vivamus ut ex porta, venenatis libero quis, pulvinar diam. Nunc quis dapibus velit, malesuada lacinia quam. Morbi in lacinia felis. Nullam euismod tellus diam, id condimentum nisi fringilla quis. In fringilla lectus quis laoreet fringilla. Praesent blandit, purus vel bibendum pellentesque, enim eros pellentesque quam, et ultrices eros erat ac mi.
</p>
<h1>Return to the Top</h1>
</div>
</section>
<div id="beef-container" class="col-xs-12 col-sm-6 col-md-4">
<section id="beef">
<h3 class="text-center">Beef</h3>
<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ac nunc vitae metus hendrerit convallis. Vestibulum nulla eros, molestie non feugiat ornare, rhoncus ac eros. Praesent maximus risus sed purus vestibulum porttitor. Nam risus ipsum, tristique et porta vitae, fermentum non elit. Vivamus sollicitudin sem sit amet turpis ornare, sed imperdiet magna pretium. Nullam eu ultricies orci, non aliquet nibh. Donec a auctor metus. Phasellus eu tellus tellus. Sed mi odio, pellentesque in velit in, tempor vestibulum massa. Sed nulla justo, interdum nec tincidunt nec, tincidunt non libero. Aliquam sapien arcu, blandit vel porta quis, porta vel ante. In sollicitudin tortor lobortis vestibulum blandit. Aenean velit neque, consequat eget mauris ac, consequat facilisis lectus. Sed pulvinar, orci sed commodo facilisis, erat diam facilisis magna, vitae luctus metus eros a magna. Fusce hendrerit vitae nisi facilisis viverra. Cras suscipit purus ut turpis tempor, non iaculis mauris imperdiet.
Nunc elementum lobortis lectus non dapibus. Sed augue nunc, semper vel ipsum nec, fermentum interdum metus. Proin et elementum nisi, nec fermentum velit. Aliquam congue efficitur diam id vestibulum. Aliquam ac tortor auctor, convallis ligula at, suscipit elit. Ut congue, turpis in elementum tincidunt, mauris odio imperdiet diam, vitae porta lectus lacus eu dolor. Vivamus tellus nunc, molestie quis iaculis nec, volutpat ut mi. Aenean mattis magna sit amet diam convallis, id consectetur risus placerat. Suspendisse et ex id dui porta vestibulum ac ut felis. Integer tristique, sapien a ultricies laoreet, nibh nisl sagittis augue, tincidunt faucibus libero dui vitae ante. Proin rutrum nulla sed ultricies fringilla. Fusce vel rutrum enim, suscipit porttitor nisl.
Sed pharetra egestas orci in rhoncus. Donec eros libero, euismod pretium varius sodales, pellentesque vel mi. Donec semper consectetur vulputate. In dapibus placerat est fermentum posuere. Donec mi felis, gravida in felis eu, sagittis consectetur nisi. Integer sollicitudin sagittis dui, eget ullamcorper erat euismod at. Proin tincidunt ullamcorper tortor, et vestibulum leo accumsan eget. Mauris porttitor, ante ut accumsan tincidunt, ex odio commodo arcu, sit amet lacinia ante risus ac mauris. Nunc blandit lorem cursus, euismod tellus eget, suscipit ligula.
Praesent imperdiet semper metus vel ultricies. Cras vel condimentum tellus. Vestibulum eget turpis nec nunc suscipit vestibulum ac vitae ligula. Curabitur bibendum varius rhoncus. Fusce mi ante, fringilla nec imperdiet non, feugiat bibendum dui. Donec eleifend, massa rhoncus luctus vehicula, felis ante dapibus dolor, nec imperdiet mi ipsum ut sem. Sed facilisis risus lectus, ut ultrices enim hendrerit id. Cras eget egestas erat. Duis feugiat at risus quis commodo. Fusce fermentum lacus at metus viverra, quis feugiat purus sagittis. Curabitur at sollicitudin felis. Duis venenatis leo ac felis bibendum porta.
Donec sodales varius dui eget pharetra. Vivamus ut ex porta, venenatis libero quis, pulvinar diam. Nunc quis dapibus velit, malesuada lacinia quam. Morbi in lacinia felis. Nullam euismod tellus diam, id condimentum nisi fringilla quis. In fringilla lectus quis laoreet fringilla. Praesent blandit, purus vel bibendum pellentesque, enim eros pellentesque quam, et ultrices eros erat ac mi.
</p>
<h1>Return to the Top</h1>
</div>
</section>
<div id="sushi-container" class="col-xs-12 col-sm-12 col-md-4">
<section id="sushi">
<h2 class="text-center">Sushi</h2>
<p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ac nunc vitae metus hendrerit convallis. Vestibulum nulla eros, molestie non feugiat ornare, rhoncus ac eros. Praesent maximus risus sed purus vestibulum porttitor. Nam risus ipsum, tristique et porta vitae, fermentum non elit. Vivamus sollicitudin sem sit amet turpis ornare, sed imperdiet magna pretium. Nullam eu ultricies orci, non aliquet nibh. Donec a auctor metus. Phasellus eu tellus tellus. Sed mi odio, pellentesque in velit in, tempor vestibulum massa. Sed nulla justo, interdum nec tincidunt nec, tincidunt non libero. Aliquam sapien arcu, blandit vel porta quis, porta vel ante. In sollicitudin tortor lobortis vestibulum blandit. Aenean velit neque, consequat eget mauris ac, consequat facilisis lectus. Sed pulvinar, orci sed commodo facilisis, erat diam facilisis magna, vitae luctus metus eros a magna. Fusce hendrerit vitae nisi facilisis viverra. Cras suscipit purus ut turpis tempor, non iaculis mauris imperdiet.
Nunc elementum lobortis lectus non dapibus. Sed augue nunc, semper vel ipsum nec, fermentum interdum metus. Proin et elementum nisi, nec fermentum velit. Aliquam congue efficitur diam id vestibulum. Aliquam ac tortor auctor, convallis ligula at, suscipit elit. Ut congue, turpis in elementum tincidunt, mauris odio imperdiet diam, vitae porta lectus lacus eu dolor. Vivamus tellus nunc, molestie quis iaculis nec, volutpat ut mi. Aenean mattis magna sit amet diam convallis, id consectetur risus placerat. Suspendisse et ex id dui porta vestibulum ac ut felis. Integer tristique, sapien a ultricies laoreet, nibh nisl sagittis augue, tincidunt faucibus libero dui vitae ante. Proin rutrum nulla sed ultricies fringilla. Fusce vel rutrum enim, suscipit porttitor nisl.
Sed pharetra egestas orci in rhoncus. Donec eros libero, euismod pretium varius sodales, pellentesque vel mi. Donec semper consectetur vulputate. In dapibus placerat est fermentum posuere. Donec mi felis, gravida in felis eu, sagittis consectetur nisi. Integer sollicitudin sagittis dui, eget ullamcorper erat euismod at. Proin tincidunt ullamcorper tortor, et vestibulum leo accumsan eget. Mauris porttitor, ante ut accumsan tincidunt, ex odio commodo arcu, sit amet lacinia ante risus ac mauris. Nunc blandit lorem cursus, euismod tellus eget, suscipit ligula.
Praesent imperdiet semper metus vel ultricies. Cras vel condimentum tellus. Vestibulum eget turpis nec nunc suscipit vestibulum ac vitae ligula. Curabitur bibendum varius rhoncus. Fusce mi ante, fringilla nec imperdiet non, feugiat bibendum dui. Donec eleifend, massa rhoncus luctus vehicula, felis ante dapibus dolor, nec imperdiet mi ipsum ut sem. Sed facilisis risus lectus, ut ultrices enim hendrerit id. Cras eget egestas erat. Duis feugiat at risus quis commodo. Fusce fermentum lacus at metus viverra, quis feugiat purus sagittis. Curabitur at sollicitudin felis. Duis venenatis leo ac felis bibendum porta.
Donec sodales varius dui eget pharetra. Vivamus ut ex porta, venenatis libero quis, pulvinar diam. Nunc quis dapibus velit, malesuada lacinia quam. Morbi in lacinia felis. Nullam euismod tellus diam, id condimentum nisi fringilla quis. In fringilla lectus quis laoreet fringilla. Praesent blandit, purus vel bibendum pellentesque, enim eros pellentesque quam, et ultrices eros erat ac mi.
</p>
<h1>Return to the Top</h1>
</div>
</section>
</div><!-- Row -->
</div><!-- Main Content -->
<!-- jQuery (Bootstrap JS plugins depend on it) -->
<script src="js/jquery-1.11.3.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>
The main content should be pushed down when the navbar is expanded, I also had to setup a z-index for the collapsible menu so it wouldn't be overlapped by the main-content (which is probably doing something funky to it too) so I know there is something wrong in my navbar / header, the body is working perfectly as intended.
I am using an older version of bootstrap because that is what the professor who is teaching my course is using, if you believe a newer version of bootstrap will work I can for sure change everything up, I've just spent the last 10 hours doing this, setting up the page took me 50 minutes so I'm kind of at the end of my rope, if this doesn't work I'm just going to restart from scratch.
Thank you in advance for your time!
I fixed my problem by removing the height: 70px; inside of my #header-nav ID styling, everything works perfectly now :)
I have a dynamically generated HTML page that has to be saved as pdf. The page has border that has to appear on the edge of the page thus in the #media print, I have set the #page size as A4 and margins as 0. The problem is that the content will get overwritten on the page border.
When I set the padding to the border, the top of the page first page gets properly printed but the content gets overwritten on the border at the bottom and in the remaining pages.
This can be clearly seen as shown in the images below.
Since I gave padding to the top border, the top of the first page is fine but not the bottom.
In this second page, the entire content gets inside the margin.
Here is the HTML for the same document.
body {
margin: 0px;
padding: 0px;
}
#pageborder {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 10px solid #F5821F;
border-top-left-radius: 30px;
border-bottom-left-radius: 30px;
border-top-right-radius: 30px;
border-bottom-right-radius: 30px;
margin: 0px;
padding: 0px;
}
#pageborder2 {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 10px solid #F5821F;
margin: 0px;
padding: 0px;
}
#pageborder3 {
position: fixed;
left: 20px;
right: 20px;
top: 20px;
bottom: 20px;
border: 3px solid #F5821F;
border-top-left-radius: 15px;
border-bottom-left-radius: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
padding-top: 90px;
padding-bottom: 90px;
}
#innerContent {
margin: 50px;
}
#media print {
#page{
margin: 0;
}
#pageborder3 {
padding-top: 90px;
padding-bottom: 90px;
}
}
<body>
<div id="pageborder">
</div>
<div id="pageborder2">
</div>
<div id="pageborder3">
</div>
<div id='innerContent'>
<h1>Test</h1>
<p>Lorem Ipsum</p>
</div>
</body>
A combination between page-break-inside: avoid and padding/margin on paragraphs will do the trick.
This will look strange if there are very large paragraph around the page break, as this will make a big gap at the bottom of the page, so you should divide the text in smaller paragraphs.
/* I have removed your pageborder styles from answer to only include
the relevant styles for the sollution to the problem. */
#page{
size: A4;
margin: 0;
}
#innerContent {
/* This is the margin around the content */
margin: 50px;
}
h1, h2, h3, h4, h5, h6, p, .flow-control
/* Add any element types here that can occur as top element in the document flow
or just add class="flow-control" where needed */
{
page-break-inside: avoid; /* Make sure no page breake inside a paragraph */
padding-top: 50px; /* Creates a buffer to enlarge the area for page break.
This is also the visual padding for the firs paragraph on each page. */
margin-top: -50px; /* Cancel the top padding for all except the first paragraph on each page. */
}
h1, h2{
margin-top: -20px; /* Reduce the cancelling of top padding, so that
these elements actually will have some top padding */
}
p {
padding-bottom: 20px; /* This is the margin between paragraphs and also
works as buffer size at bottom of the page */
}
<body>
<div class="pageborder" id="pageborder1"></div>
<div class="pageborder" id="pageborder2"></div>
<div class="pageborder" id="pageborder3"></div>
<article id='innerContent'>
<h1>Lorem Ipsum</h1>
<section>
<blockquote cite="https://la.wikisource.org/wiki/De_finibus_bonorum_et_malorum/Liber_Primus">
Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...
</blockquote >
<blockquote cite="https://www.quora.com/What-is-the-origin-of-lorem-ipsum-text">
There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain...
</blockquote >
</section>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis vestibulum, justo quis elementum elementum, dui dolor accumsan ligula, vitae condimentum est magna a dui. Praesent accumsan mi eget augue cursus, vel maximus ante cursus. Nullam luctus massa gravida ipsum luctus dignissim. In eget turpis ut sapien consequat euismod. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ac porttitor nisl. Fusce ac sapien eget lacus gravida pharetra non id risus. Donec luctus finibus commodo. Cras convallis in nunc a venenatis. Curabitur at nisi nec nisl semper sagittis sed vel sem.</p>
<p>Sed dictum massa quam, nec bibendum neque egestas non. Ut mattis lacus nisi, gravida hendrerit erat scelerisque sit amet. Nulla eget leo venenatis eros rhoncus bibendum et at quam. Morbi ac leo convallis, maximus velit et, porttitor justo. Aliquam erat volutpat. Donec aliquam ultricies nunc, vitae dapibus sapien sollicitudin non. Pellentesque ac diam ut odio posuere efficitur non finibus ante. Vivamus aliquam leo a suscipit finibus. Mauris a ex metus. Phasellus luctus augue sit amet ipsum venenatis, at imperdiet nunc sollicitudin. Cras iaculis lorem ac justo posuere, sed venenatis nibh fringilla.</p>
<p>Duis imperdiet euismod sem, id dignissim erat gravida vel. Duis nec nibh lectus. Donec in rhoncus sapien. Nulla nisi nisl, gravida at vulputate at, ornare id tortor. Nulla varius ligula ac turpis porta, non tristique leo efficitur. Quisque suscipit, est ut aliquam interdum, mi nulla pharetra metus, imperdiet imperdiet ex sapien sed metus. Integer sit amet lectus ut justo tincidunt laoreet sit amet ac ipsum.</p>
<p>Donec mollis tempus cursus. Mauris et tincidunt ante. Nam leo ex, volutpat non velit ac, imperdiet luctus tellus. Vestibulum vitae consectetur mauris, eu imperdiet dolor. Vestibulum viverra mi id diam viverra, at convallis ex bibendum. Nam mollis feugiat pulvinar. Maecenas neque ipsum, consequat a iaculis at, semper in ipsum. Vivamus a porta sapien. Fusce pulvinar, nulla at euismod semper, ipsum arcu vestibulum orci, sed egestas lectus odio et mi. Sed venenatis felis accumsan, consectetur orci sed, convallis risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Proin mattis, orci ac rutrum lobortis, odio tellus euismod mi, et scelerisque tellus massa ut risus.</p>
<p>Aenean in elit vitae risus pharetra suscipit eu sed risus. Maecenas sollicitudin nunc ac lacus fermentum tincidunt. Maecenas a pretium ipsum. In viverra eros sit amet lectus eleifend, at auctor velit mollis. Proin aliquam risus vel arcu pellentesque, eget volutpat justo facilisis. Nunc in ex tellus. Mauris euismod luctus commodo. Pellentesque arcu justo, aliquam ut quam in, egestas dapibus ante. Morbi facilisis mi nec leo semper laoreet. Aenean ac dolor vel erat suscipit vulputate. Praesent sit amet eleifend libero, sit amet viverra lorem. Ut eleifend lectus non tempus placerat. Praesent magna ipsum, porta sit amet mattis vel, condimentum eleifend magna.</p>
<p>Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas velit tortor, faucibus vitae rhoncus eget, laoreet vel sem. Proin interdum ut risus a tempor. Aliquam malesuada, tellus et luctus iaculis, est est aliquet nisl, volutpat elementum augue nunc ut lorem. Nulla facilisis ipsum vestibulum, iaculis magna in, maximus libero. Suspendisse tortor odio, euismod nec leo placerat, mattis varius elit. Suspendisse a ipsum vehicula, viverra metus eget, scelerisque dui. Suspendisse potenti. Vivamus a sapien eget felis mollis imperdiet.</p>
<p>Sed accumsan eu dolor nec vestibulum. Aenean interdum porttitor mattis. Curabitur finibus, erat nec posuere luctus, elit nisi imperdiet neque, eget maximus nulla dolor at justo. In sem odio, feugiat quis condimentum id, sodales id felis. Nulla facilisi. Vestibulum odio ex, blandit vel ullamcorper ac, tincidunt et justo. Vestibulum congue congue vehicula. Praesent tempor tortor ut tellus vulputate hendrerit. Proin lectus ante, dapibus eu laoreet varius, dictum sit amet lacus.</p>
<p>Integer vel mollis justo, quis commodo diam. Morbi cursus mauris nibh. Proin vestibulum ornare turpis, in consequat tellus condimentum quis. Praesent nulla magna, commodo sit amet molestie a, sollicitudin laoreet elit. Fusce ut augue vitae ligula commodo mattis sit amet non augue. Nulla a lectus purus. Sed sed consequat magna, in tempus quam. Cras sed consectetur nulla, tempus luctus ligula. Proin porttitor porttitor nisl, quis pretium turpis imperdiet id. Fusce commodo nulla sem, vitae gravida nulla molestie eu. Donec accumsan ex eget faucibus luctus. Ut leo eros, accumsan id aliquam et, aliquet at tellus.</p>
<p>Proin fringilla congue metus, ac semper ex aliquam ullamcorper. Integer porttitor tempor leo ac elementum. Vivamus a nisi vitae tellus interdum rhoncus. Nam eleifend ipsum sit amet enim feugiat, vitae pulvinar elit dignissim. </p>
<p>Vivamus tempus felis enim, non fermentum erat venenatis a. Morbi dolor ante, iaculis in nulla sit amet, eleifend aliquam nisl. Phasellus ultrices turpis ut ipsum molestie, a euismod sem venenatis. Duis a leo ac quam gravida sagittis nec vitae dui. Proin pellentesque, nulla sed fringilla malesuada, dui erat dignissim ex, eget sollicitudin enim purus pellentesque risus. Aenean a porta lacus, nec ullamcorper tellus.</p>
<div class="flow-control"><!-- This is to make sure there are no page brake
between the header and next paragraph -->
<h2>Header test</h2>
<p>Curabitur eros metus, maximus ornare mollis suscipit, commodo sed erat. Suspendisse dolor lectus, suscipit auctor risus a, malesuada auctor magna. Cras erat augue, venenatis luctus erat ac, ultrices pretium tellus. Mauris faucibus convallis euismod. Mauris tincidunt sit amet metus quis mattis. Quisque luctus quam rutrum mollis mollis. Donec velit tortor, iaculis in mattis sed, consequat vitae ligula. Vestibulum tempus lacinia blandit. Integer eleifend lacus id lorem feugiat, at varius sapien accumsan. Nam fermentum hendrerit lorem, et euismod diam tincidunt sit amet. Donec vitae dolor in nunc eleifend tincidunt. Curabitur vel maximus purus. Donec varius lorem justo, a commodo dolor vehicula in. In condimentum risus sed placerat condimentum. Ut enim ex, pellentesque eget metus vel, gravida viverra arcu. Suspendisse interdum leo ac porta vestibulum.</p>
</div>
<p>Fusce ipsum justo, convallis et venenatis id, tincidunt non orci. Nam vestibulum molestie egestas. Vivamus ultricies ultrices fermentum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Proin sit amet dui porta, tempor nibh finibus, suscipit felis. Aenean rhoncus enim at imperdiet porttitor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce tellus eros, euismod sit amet gravida sit amet, mattis ut tortor. Fusce nec lectus a massa iaculis tempor. Morbi tortor ante, facilisis eget diam suscipit, dignissim pulvinar nulla. Nunc ultrices eros sed facilisis mattis.</p>
<p>Vestibulum lobortis metus velit, id cursus justo viverra id. Sed euismod nisi nunc, id malesuada nulla porttitor ultricies. Quisque cursus ut nisl eu vehicula. Ut a convallis nulla. Maecenas vehicula dolor a dui mattis, non sollicitudin lorem malesuada. Sed faucibus vulputate turpis in fringilla. Donec feugiat dui at nulla iaculis rhoncus. Mauris venenatis congue maximus. Vivamus maximus volutpat dictum. Cras vehicula sodales ante ut viverra.</p>
<p>Vivamus at rutrum justo. Vestibulum vulputate scelerisque convallis. Etiam vulputate nunc tempor tortor varius lobortis. Suspendisse ut posuere augue. Proin nunc metus, fermentum at tincidunt in, gravida ut massa. Curabitur eu ex tristique, accumsan justo in, luctus dui. Praesent a dolor eu tellus gravida lobortis sed ut magna. Nunc feugiat elit ultricies, bibendum lacus nec, cursus elit. Proin facilisis mauris a dolor imperdiet, vel lacinia enim rutrum. Sed tristique ultricies magna ac lobortis. Integer nec varius sapien. Vestibulum convallis finibus enim, sed tincidunt lectus scelerisque quis.</p>
<p>Nam faucibus lorem et ultrices luctus. Aliquam id pharetra nisi. Curabitur malesuada elit eget nisi imperdiet fringilla. Quisque orci eros, pulvinar eget finibus ut, mollis vitae magna. Nulla molestie massa at convallis facilisis. Maecenas sagittis facilisis feugiat. Quisque rutrum, urna at consectetur pellentesque, mauris dolor faucibus nisl, vel tristique leo est vitae magna. Curabitur fermentum dignissim nisi tincidunt rhoncus.</p>
<p>Suspendisse pretium enim volutpat, fringilla urna tempor, dictum metus. Nunc vel purus vel arcu molestie hendrerit. Vestibulum sed mollis mauris. Fusce nisi velit, imperdiet sed porttitor at, elementum at mauris. Quisque at magna volutpat, rhoncus velit volutpat, aliquet dolor. Ut metus ante, commodo non risus sed, congue posuere metus. Mauris a sem metus. Duis accumsan mi non facilisis mollis. Maecenas et dolor eget felis rhoncus pretium. Aenean vitae arcu cursus, ultricies massa vel, congue leo. Proin suscipit nisi odio, malesuada interdum nisi aliquam at. Aliquam ac congue magna.</p>
</article>
</body>
Add these lines of code in your CSS, it will work :)
#pageborder2:after{
content: "";
width: 92%;
background: #FFF;
height: 10px;
position: fixed;
margin-left: 15px;
top: 10px;
border-radius: 10px;
}
#pageborder3:after{
content: "";
width: 92%;
background: #FFF;
height: 10px;
border-radius: 10px;
position: fixed;
bottom: 10px;
}
I want to expand my menu height to always take 100% of the visible height.
For the moment it only take the 100% at the loading, then if I scroll down there is a white block and it's ugly.
I can't post images because I haven't 10points
The CSS of my menu is the following one:
.nav-sm .container.body .col-md-3.left_col {
min-height: 100%;
width: 70px;
padding: 0;
z-index: 9999;
position: absolute;
}
The thing I want to achieve is to have my menu who always took all the visible height and I can't find how to do that.
Another possibility is to use vh (viewheight) instead of working with percentages:
.nav-sm .container.body .col-md-3.left_col {
min-height: 100vh;
width: 70px;
padding: 0;
z-index: 9999;
position: absolute;
border: 1px solid black;
}
(For reference, check this W3Schools page
Hope this helps
Try this:
div#navi{
width:100px;
height:auto;
top:0px;
bottom:0px;
position:fixed;
background:maroon;
}
body {
height:2000px;
margin: 0px;
padding: 0px;
}
<div id="navi">
test
</div>
.demo{
width:100%;
height:100%;
background:#e0e0e0;
}
body {
height:2000px;
margin:0px;
padding:0px;
}
<body>
<div class="demo">
<span>Hello World</span>
</div>
</body>
Here's how you can do this.
Set the position of the menu to be fixed and then use height: 100%; to make it full height and not move when the page is scrolled.
Here's the working demo: https://jsfiddle.net/jv8a4hhh/
And the code snippent:
body {
margin: 0;
padding: 0;
height: 1000px;
}
navigation {
background: #cccccc;
color: #2e2e2e;
padding: 10px 10px;
position: fixed;
height: 100%;
left: 0;
top: 0;
}
<navigation>
THIS IS MENU
</navigation>
<content>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce quis accumsan massa, id scelerisque elit. Morbi vel arcu accumsan, facilisis magna quis, accumsan ex. Cras congue enim aliquam, accumsan nulla tincidunt, dapibus justo. Phasellus nec pellentesque
est. Morbi rutrum lectus libero, quis imperdiet turpis ultricies ut. Etiam pharetra dictum dui sit amet iaculis. Curabitur rhoncus gravida augue, dapibus semper nisl rutrum sed. Etiam facilisis lacus eget ullamcorper molestie. Duis vestibulum tortor
lorem, sed auctor tellus efficitur id.
</p>
<p>
Maecenas dapibus erat ac erat vehicula, nec iaculis dui faucibus. Mauris non gravida nunc. Duis eget leo sit amet sapien dictum tempus eu eget enim. Ut eu est vel nibh dictum malesuada in a metus. Sed finibus mollis ipsum, scelerisque maximus mauris blandit
non. Aenean vel urna nisl. Ut facilisis nibh dolor, non malesuada felis facilisis eu. Maecenas ut neque quis purus rutrum pharetra sed id mauris. Ut eu ex eu turpis tincidunt placerat accumsan sed elit. Duis egestas, lectus et euismod tempor, nunc
nibh convallis lectus, fringilla tincidunt odio augue a mauris. Aliquam ultrices arcu et orci laoreet, in congue magna gravida. Mauris posuere quis justo eu egestas.
</p>
<p>
Praesent vehicula venenatis felis vel semper. Aenean pharetra dictum augue, laoreet scelerisque leo euismod vel. Aliquam scelerisque eleifend eleifend. Pellentesque a felis quis diam fringilla cursus at ac nibh. Etiam tellus lectus, vehicula non risus
in, pellentesque tincidunt quam. Integer elit magna, euismod sit amet lorem quis, facilisis consectetur metus. Aliquam dictum ante quis laoreet congue. Morbi hendrerit posuere faucibus. Aliquam augue est, faucibus quis consequat in, pretium tincidunt
libero. Fusce vulputate aliquam turpis eu sollicitudin. Nam accumsan eget nulla ut molestie. Morbi turpis felis, egestas eget velit et, fringilla sodales est.
</p>
<p>
Duis vel velit quis metus efficitur luctus. Proin porttitor sapien eget diam fringilla mollis. Curabitur interdum efficitur enim, laoreet bibendum dui aliquet vitae. Etiam arcu ipsum, condimentum nec scelerisque vitae, ornare at justo. Duis eget tincidunt
sapien. Quisque non arcu volutpat, lacinia sem id, volutpat tellus. Vivamus dui lorem, aliquam non iaculis posuere, euismod et velit. Vestibulum nunc mauris, pharetra porta nisi eu, convallis molestie massa. Donec tincidunt tempus egestas. Sed lectus
sem, vestibulum at felis et, finibus egestas sem.
</p>
<p>
Nulla auctor, quam sed efficitur tempor, felis justo egestas justo, ac bibendum sem ante eu nisi. Aliquam erat volutpat. Suspendisse turpis ante, dapibus in purus et, aliquet rutrum arcu. Suspendisse sem massa, ultrices sed felis vel, mollis porta nisl.
Curabitur lectus urna, porta eu placerat id, tempor eget erat. Duis mattis eget nisi et bibendum. Aliquam nibh libero, elementum et leo nec, egestas vestibulum lacus. Suspendisse vel augue diam. Phasellus fermentum, quam sed euismod finibus, erat
ante fermentum mi, at ullamcorper nisi sapien quis orci. Morbi id sem tincidunt, semper eros non, facilisis velit. Nam tincidunt neque ullamcorper, tristique justo quis, dapibus nunc. In in pharetra enim.
</p>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce quis accumsan massa, id scelerisque elit. Morbi vel arcu accumsan, facilisis magna quis, accumsan ex. Cras congue enim aliquam, accumsan nulla tincidunt, dapibus justo. Phasellus nec pellentesque
est. Morbi rutrum lectus libero, quis imperdiet turpis ultricies ut. Etiam pharetra dictum dui sit amet iaculis. Curabitur rhoncus gravida augue, dapibus semper nisl rutrum sed. Etiam facilisis lacus eget ullamcorper molestie. Duis vestibulum tortor
lorem, sed auctor tellus efficitur id.
</p>
<p>
Maecenas dapibus erat ac erat vehicula, nec iaculis dui faucibus. Mauris non gravida nunc. Duis eget leo sit amet sapien dictum tempus eu eget enim. Ut eu est vel nibh dictum malesuada in a metus. Sed finibus mollis ipsum, scelerisque maximus mauris blandit
non. Aenean vel urna nisl. Ut facilisis nibh dolor, non malesuada felis facilisis eu. Maecenas ut neque quis purus rutrum pharetra sed id mauris. Ut eu ex eu turpis tincidunt placerat accumsan sed elit. Duis egestas, lectus et euismod tempor, nunc
nibh convallis lectus, fringilla tincidunt odio augue a mauris. Aliquam ultrices arcu et orci laoreet, in congue magna gravida. Mauris posuere quis justo eu egestas.
</p>
<p>
Praesent vehicula venenatis felis vel semper. Aenean pharetra dictum augue, laoreet scelerisque leo euismod vel. Aliquam scelerisque eleifend eleifend. Pellentesque a felis quis diam fringilla cursus at ac nibh. Etiam tellus lectus, vehicula non risus
in, pellentesque tincidunt quam. Integer elit magna, euismod sit amet lorem quis, facilisis consectetur metus. Aliquam dictum ante quis laoreet congue. Morbi hendrerit posuere faucibus. Aliquam augue est, faucibus quis consequat in, pretium tincidunt
libero. Fusce vulputate aliquam turpis eu sollicitudin. Nam accumsan eget nulla ut molestie. Morbi turpis felis, egestas eget velit et, fringilla sodales est.
</p>
<p>
Duis vel velit quis metus efficitur luctus. Proin porttitor sapien eget diam fringilla mollis. Curabitur interdum efficitur enim, laoreet bibendum dui aliquet vitae. Etiam arcu ipsum, condimentum nec scelerisque vitae, ornare at justo. Duis eget tincidunt
sapien. Quisque non arcu volutpat, lacinia sem id, volutpat tellus. Vivamus dui lorem, aliquam non iaculis posuere, euismod et velit. Vestibulum nunc mauris, pharetra porta nisi eu, convallis molestie massa. Donec tincidunt tempus egestas. Sed lectus
sem, vestibulum at felis et, finibus egestas sem.
</p>
<p>
Nulla auctor, quam sed efficitur tempor, felis justo egestas justo, ac bibendum sem ante eu nisi. Aliquam erat volutpat. Suspendisse turpis ante, dapibus in purus et, aliquet rutrum arcu. Suspendisse sem massa, ultrices sed felis vel, mollis porta nisl.
Curabitur lectus urna, porta eu placerat id, tempor eget erat. Duis mattis eget nisi et bibendum. Aliquam nibh libero, elementum et leo nec, egestas vestibulum lacus. Suspendisse vel augue diam. Phasellus fermentum, quam sed euismod finibus, erat
ante fermentum mi, at ullamcorper nisi sapien quis orci. Morbi id sem tincidunt, semper eros non, facilisis velit. Nam tincidunt neque ullamcorper, tristique justo quis, dapibus nunc. In in pharetra enim.
</p>
</content>
Hope this helps :)
I have a problem with my html code I refer to the id class but it is not going to there, but to another rule. I think the problem have to do with the fixed header, but I can't find the solution for this. This is my html code:
/* general */
html {
width: 100%;
height: 100%;
position: relative;
}
body {
width: 100%;
margin: 0;
height: 100%;
position: relative;
}
/* header */
header {
position: fixed;
z-index: 2;
top: 0;
background-color: red;
width: 100%;
height: 125px;
padding: 1em;
}
.spacer {
position: relative;
width: 100%;
height: calc(125px + 2em);
}
header h1 {
margin: 0;
}
/* bar */
header p {
margin-bottom: 0;
}
/*menu*/
header li {
float: left;
display: block;
background-color: white;
padding: 2px;
list-style-type: none;
margin-top: 0 !important;
margin: 1em;
}
/* middle */
.middle {
left: 0;
float: left;
padding: 2em 4em;
background-color: lightgreen;
}
.middle p {
margin: 0;
}
<header>
<h1> HTML </h1>
<p>On the menu today:</p>
<ul>
<li>Number 1
</li>
<li>Number 2
</li>
<li>Number 3
</li>
<li>Number 4
</li>
</ul>
</header>
<div class="spacer"> </div>
<div class="middle">
<p id="1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut fermentum, odio in vehicula placerat, lacus sapien auctor lectus, id tempor dui mauris luctus odio. Maecenas a ex aliquet, lobortis mauris ut, fermentum nulla. Suspendisse dignissim placerat
purus. Etiam feugiat, erat at rhoncus rutrum, nulla mi ornare justo, a sagittis tortor metus non augue. Fusce vel molestie dolor. Etiam congue a ipsum eu interdum. Pellentesque cursus lobortis leo eu euismod. Sed et ante pharetra, posuere lectus sit
amet, elementum nisi.
<br>Sed at felis eu nulla pulvinar sagittis quis ut libero. Praesent bibendum lacus a turpis elementum, nec ultrices turpis placerat. Nullam egestas, purus pharetra faucibus elementum, odio arcu faucibus purus, ac suscipit arcu eros eget felis. Nulla
consequat rhoncus turpis, vitae porta velit semper et. Duis commodo vehicula ipsum, non fermentum lectus pellentesque a. Donec ut luctus leo, iaculis tristique tellus. Sed pharetra turpis mattis orci sodales aliquam. Praesent aliquam cursus sagittis.
Morbi eget convallis mi. Donec lacinia orci euismod hendrerit venenatis. Vivamus vel ex a odio consectetur tincidunt sed sed leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent pretium felis
et ex laoreet congue. Nulla vitae dolor ligula. Aenean mollis consectetur posuere.</p>
<br>
<p id="2">Quisque lacinia, orci consequat volutpat imperdiet, ipsum massa molestie ante, posuere laoreet elit mauris in ante. Sed suscipit felis sagittis nunc pellentesque, vel ullamcorper orci pharetra. Aenean hendrerit commodo velit, ut tincidunt lectus mattis
nec. Nunc dictum turpis sed gravida semper. Mauris dignissim risus sed porta pulvinar. Curabitur ex enim, vehicula sit amet tincidunt et, dignissim vel urna. Maecenas magna magna, venenatis at lectus a, ornare consequat massa. Pellentesque vitae ligula
in augue faucibus pellentesque. Duis sed tellus vel risus mattis convallis id ut ex. Ut ipsum ex, dignissim nec lectus in, pellentesque euismod lorem. Suspendisse ut mauris molestie ex dignissim dictum. Duis vitae volutpat nisl, vel efficitur nulla.
<br>Maecenas justo est, elementum et velit in, consequat ullamcorper mi. Nullam nec efficitur turpis. Aenean semper mi gravida, tempor lectus in, pellentesque tortor. Quisque porta risus sit amet sem dictum, vel pretium massa maximus. Etiam mattis nulla
et dictum malesuada. Pellentesque vitae magna sed augue ultricies consequat. Aenean tellus ante, sodales id laoreet vitae, commodo facilisis nulla. In nec lorem turpis. Morbi semper libero risus, eget aliquet sem porttitor eu. Nunc nec ultricies ex.
Morbi elementum mattis ante et pharetra. Nulla dignissim congue augue aliquam ultricies. Aliquam iaculis quam eu arcu vestibulum, eu consectetur odio porttitor. Phasellus placerat sem pellentesque ex dictum auctor.</p>
<br>
<br>
<br>
<p id="3">
Mauris nisl velit, tristique auctor nunc id, cursus fringilla arcu. Donec faucibus dolor sit amet leo volutpat, eget pellentesque neque porta. Phasellus sagittis lacus a eros pulvinar, a aliquam diam venenatis. In a lacinia sem. Phasellus mollis vel velit
et fermentum. Sed tellus dui, aliquam in velit et, consectetur placerat dui. Etiam elementum, lectus eget commodo condimentum, urna enim placerat velit, eu rhoncus mauris lacus non nisl. Aliquam lorem mi, aliquam sed blandit at, ornare quis lacus.
Maecenas nec maximus metus. Integer sem lorem, posuere id nunc non, laoreet efficitur neque. Duis sit amet massa vitae est porttitor tempor a non ex. Cras pharetra enim dictum justo mattis lobortis. Maecenas viverra, ipsum ut pretium mattis, risus
lectus malesuada augue, ac eleifend orci nisl sit amet augue. Nam quis metus finibus, sagittis leo id, tincidunt nisi. Pellentesque non feugiat elit, sed viverra erat.
</p>
<br>
<p id="4">Nullam mollis, felis non egestas malesuada, ante nunc elementum massa, id scelerisque nulla augue vel felis. Aliquam hendrerit justo mattis augue pretium, at imperdiet lorem rhoncus. Cras sodales a arcu vel tempus. Donec semper nibh ut enim lobortis,
at euismod dui finibus. Duis lacinia tellus augue, eu mollis nibh varius in. Nulla in mi porta, mattis diam id, bibendum felis. In hac habitasse platea dictumst. Mauris nec accumsan diam. Duis pulvinar tortor in enim rutrum, et dapibus lacus hendrerit.
In hac habitasse platea dictumst. Donec ut mauris sed lacus dictum commodo. Suspendisse nec lorem eget nisi tristique interdum id nec est. Phasellus nec magna fringilla, cursus ligula quis, consequat leo. Phasellus in blandit leo, non vestibulum justo.
In nec velit sit amet arcu hendrerit commodo id in risus. Etiam mi urna, hendrerit malesuada quam eget, sagittis fermentum dui.
<br>
</p>
</div>
<footer>
</footer>
Your spacer div appears to be sitting on top of your header. If you give your header a z-index the links work again:
/* general */
html {
width: 100%;
height: 100%;
position: relative;
}
body {
width: 100%;
margin: 0;
height: 100%;
position: relative;
}
/* header */
header {
position: fixed;
top: 0;
background-color: red;
width: 100%;
height: 125px;
padding: 1em;
z-index:2;
}
.spacer {
position: relative;
width: 100%;
height: calc(125px + 2em);
}
header h1 {
margin: 0;
}
/* bar */
header p {
margin-bottom: 0;
}
/*menu*/
header li {
float: left;
display: block;
background-color: white;
padding: 2px;
list-style-type: none;
margin-top: 0 !important;
margin: 1em;
}
/* middle */
.middle {
left: 0;
float: left;
padding: 2em 4em;
background-color: lightgreen;
}
.middle p {
margin: 0;
}
<header>
<h1> HTML </h1>
<p>On the menu today:</p>
<ul>
<li>Number 1
</li>
<li>Number 2
</li>
<li>Number 3
</li>
<li>Number 4
</li>
</ul>
</header>
<div class="spacer"> </div>
<div class="middle">
<p id="1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut fermentum, odio in vehicula placerat, lacus sapien auctor lectus, id tempor dui mauris luctus odio. Maecenas a ex aliquet, lobortis mauris ut, fermentum nulla. Suspendisse dignissim placerat
purus. Etiam feugiat, erat at rhoncus rutrum, nulla mi ornare justo, a sagittis tortor metus non augue. Fusce vel molestie dolor. Etiam congue a ipsum eu interdum. Pellentesque cursus lobortis leo eu euismod. Sed et ante pharetra, posuere lectus sit
amet, elementum nisi.
<br>Sed at felis eu nulla pulvinar sagittis quis ut libero. Praesent bibendum lacus a turpis elementum, nec ultrices turpis placerat. Nullam egestas, purus pharetra faucibus elementum, odio arcu faucibus purus, ac suscipit arcu eros eget felis. Nulla
consequat rhoncus turpis, vitae porta velit semper et. Duis commodo vehicula ipsum, non fermentum lectus pellentesque a. Donec ut luctus leo, iaculis tristique tellus. Sed pharetra turpis mattis orci sodales aliquam. Praesent aliquam cursus sagittis.
Morbi eget convallis mi. Donec lacinia orci euismod hendrerit venenatis. Vivamus vel ex a odio consectetur tincidunt sed sed leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent pretium felis
et ex laoreet congue. Nulla vitae dolor ligula. Aenean mollis consectetur posuere.</p>
<br>
<p id="2">Quisque lacinia, orci consequat volutpat imperdiet, ipsum massa molestie ante, posuere laoreet elit mauris in ante. Sed suscipit felis sagittis nunc pellentesque, vel ullamcorper orci pharetra. Aenean hendrerit commodo velit, ut tincidunt lectus mattis
nec. Nunc dictum turpis sed gravida semper. Mauris dignissim risus sed porta pulvinar. Curabitur ex enim, vehicula sit amet tincidunt et, dignissim vel urna. Maecenas magna magna, venenatis at lectus a, ornare consequat massa. Pellentesque vitae ligula
in augue faucibus pellentesque. Duis sed tellus vel risus mattis convallis id ut ex. Ut ipsum ex, dignissim nec lectus in, pellentesque euismod lorem. Suspendisse ut mauris molestie ex dignissim dictum. Duis vitae volutpat nisl, vel efficitur nulla.
<br>Maecenas justo est, elementum et velit in, consequat ullamcorper mi. Nullam nec efficitur turpis. Aenean semper mi gravida, tempor lectus in, pellentesque tortor. Quisque porta risus sit amet sem dictum, vel pretium massa maximus. Etiam mattis nulla
et dictum malesuada. Pellentesque vitae magna sed augue ultricies consequat. Aenean tellus ante, sodales id laoreet vitae, commodo facilisis nulla. In nec lorem turpis. Morbi semper libero risus, eget aliquet sem porttitor eu. Nunc nec ultricies ex.
Morbi elementum mattis ante et pharetra. Nulla dignissim congue augue aliquam ultricies. Aliquam iaculis quam eu arcu vestibulum, eu consectetur odio porttitor. Phasellus placerat sem pellentesque ex dictum auctor.</p>
<br>
<br>
<br>
<p id="3">
Mauris nisl velit, tristique auctor nunc id, cursus fringilla arcu. Donec faucibus dolor sit amet leo volutpat, eget pellentesque neque porta. Phasellus sagittis lacus a eros pulvinar, a aliquam diam venenatis. In a lacinia sem. Phasellus mollis vel velit
et fermentum. Sed tellus dui, aliquam in velit et, consectetur placerat dui. Etiam elementum, lectus eget commodo condimentum, urna enim placerat velit, eu rhoncus mauris lacus non nisl. Aliquam lorem mi, aliquam sed blandit at, ornare quis lacus.
Maecenas nec maximus metus. Integer sem lorem, posuere id nunc non, laoreet efficitur neque. Duis sit amet massa vitae est porttitor tempor a non ex. Cras pharetra enim dictum justo mattis lobortis. Maecenas viverra, ipsum ut pretium mattis, risus
lectus malesuada augue, ac eleifend orci nisl sit amet augue. Nam quis metus finibus, sagittis leo id, tincidunt nisi. Pellentesque non feugiat elit, sed viverra erat.
</p>
<br>
<p id="4">Nullam mollis, felis non egestas malesuada, ante nunc elementum massa, id scelerisque nulla augue vel felis. Aliquam hendrerit justo mattis augue pretium, at imperdiet lorem rhoncus. Cras sodales a arcu vel tempus. Donec semper nibh ut enim lobortis,
at euismod dui finibus. Duis lacinia tellus augue, eu mollis nibh varius in. Nulla in mi porta, mattis diam id, bibendum felis. In hac habitasse platea dictumst. Mauris nec accumsan diam. Duis pulvinar tortor in enim rutrum, et dapibus lacus hendrerit.
In hac habitasse platea dictumst. Donec ut mauris sed lacus dictum commodo. Suspendisse nec lorem eget nisi tristique interdum id nec est. Phasellus nec magna fringilla, cursus ligula quis, consequat leo. Phasellus in blandit leo, non vestibulum justo.
In nec velit sit amet arcu hendrerit commodo id in risus. Etiam mi urna, hendrerit malesuada quam eget, sagittis fermentum dui.
<br>
</p>
</div>
<footer>
</footer>
They are scrolling to the right place, the only problem is they are going under the Red Header, so you see the wrong one, You can rectify this by increasing the spacer's height depending on which link is clicked. Hope this helps.
Updated : The solution can be found here as "codepen.io/ukneeq/pen/zsKIH"
Important: The target rendering engine is WebKit2, so browser compatibility isn't a concern.
I want the following layout:
____________ ____________________
| | | |
| | | |
| | | |
| #sb | | #act |
| | | |
| | | |
| | | |
..................................................
| # footer |
..................................................
where #sb and #act should have their own vertical scroll bars (when needed); and the footer is FIXED to the bottom and always shown.
I've managed to code this layout but haven't been able to fix an irritating bug - When #sb and / or #act have scrollbars (due to content that doesn't fit in them), and when you scroll down to the end, the damn footer overlaps and hides the last few lines (or any other content). As such, part of the content at the bottom isn't visible.
This is the code -
HTML:
<body>
<div id="main">
<div id="sp">
<div id="sb">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel libero congue, elementum ante vitae, porttitor sem. Cras pharetra ultrices mauris vel posuere. Sed rutrum enim tellus, eu facilisis risus vehicula et. Donec sagittis mattis nunc et vestibulum. Sed auctor purus et ullamcorper tincidunt.
And so on ...
</div>
<div id="act">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel libero congue, elementum ante vitae, porttitor sem. Cras pharetra ultrices mauris vel posuere. Sed rutrum enim tellus, eu facilisis risus vehicula et. Donec sagittis mattis nunc et vestibulum. Sed auctor purus et ullamcorper tincidunt.
And so on ...
</div>
</div>
</div>
<footer> </footer>
</body>
and the CSS:
#charset"utf-8";
html {
height: 100%;
}
body {
background-color: #d1cdc7;
margin: 0px;
padding: 0px;
height: 100%;
font-family: Tahoma, Geneva, sans-serif;
height: 100%;
}
#main {
bottom: 0px;
left: 5%;
margin-bottom: 0px;
margin-top: 20px;
max-width: 1920px;
min-width: 820px;
overflow: visible;
position: fixed;
right: 5%;
top: 10px;
}
#main #sp {
overflow: visible;
margin-right: auto;
margin-left: auto;
margin-top: 1%;
padding: 5px;
height: 100%;
}
#main #sp #sb {
background-color: #F8F6F2;
float: left;
width: 28%;
margin-right: 2%;
overflow: auto;
padding: 1%;
height: 100%;
}
#main #sp #act {
background-color: #F8F6F2;
float: left;
width: 66%;
overflow: auto;
padding: 1%;
height: 100%;
}
#footpad {
height: 30px;
clear: both;
}
footer {
background-color: #E1E1E1;
position: fixed;
height: 27px;
width: 100%;
bottom: 0px;
}
... and the code in action on JSFiddle.
Can someone explain what's wrong?
To fix the footer problem in the css file under
#main {
bottom: 80px; <--- use to be 0.... you can change it to whatever you want
left: 5%;
margin-bottom: 0px;
margin-top: 20px;
max-width: 1920px;
min-width: 820px;
overflow: visible;
position: fixed;
right: 5%;
top: 10px;
}
I changed the bottom to no be the same as the footer so they don't stack. I don't know if that was the problem or not.
Add this code to the very top of the css file as a reset this might fix the problem with it not working in your browser.
*{
margin: 0;
padding: 0;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
Add padding-bottom:100px; to #main
Fiddle
Copy-Paste the entire code below
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type='text/css'>
#charset"utf-8";
html {
height: 100%;
}
body {
background-color: #d1cdc7;
margin: 0px;
padding: 0px;
height: 100%;
font-family: Tahoma, Geneva, sans-serif;
height: 100%;
}
#main {
bottom: 0px;
left: 5%;
margin-bottom: 0px;
margin-top: 20px;
max-width: 1920px;
min-width: 820px;
overflow: visible;
position: fixed;
right: 5%;
top: 10px;
padding-bottom:100px;
}
#main #sp {
overflow: visible;
margin-right: auto;
margin-left: auto;
margin-top: 1%;
padding: 5px;
height: 100%;
}
#main #sp #sb {
background-color: #F8F6F2;
float: left;
width: 28%;
margin-right: 2%;
overflow: auto;
padding: 1%;
height: 100%;
}
#main #sp #act {
background-color: #F8F6F2;
float: left;
width: 66%;
overflow: auto;
padding: 1%;
height: 100%;
}
footer {
background-color: #000;
position: fixed;
height: 27px;
width: 100%;
bottom: 0px;
}
</style>
</head>
<body>
<div id="main">
<div id="sp">
<div id="sb">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel libero congue, elementum ante vitae, porttitor sem. Cras pharetra ultrices mauris vel posuere. Sed rutrum enim tellus, eu facilisis risus vehicula et. Donec sagittis mattis nunc et vestibulum. Sed auctor purus et ullamcorper tincidunt. Suspendisse lacus purus, ornare nec augue sit amet, pulvinar malesuada metus. Morbi fringilla tempor ante quis elementum. In tempor odio arcu, vel suscipit metus mattis ac. Sed ac nulla ac lacus faucibus hendrerit. Etiam velit urna, pulvinar quis erat ac, cursus convallis lacus. Mauris non convallis orci, nec congue urna. Sed ac diam vitae erat porta viverra id nec tellus. Aliquam blandit nibh sed eros sollicitudin, ac ornare dui sagittis. Etiam semper, neque luctus feugiat facilisis, felis mi hendrerit augue, ut feugiat orci tellus vitae dui. Aenean ullamcorper consectetur quam sed dictum. Nam viverra elit lorem, sed eleifend augue interdum sit amet. Maecenas lacinia lectus eget vulputate tristique. Cras eget quam eu libero fringilla tincidunt. Aenean at nibh eget lacus vestibulum tristique ac sit amet nunc. Integer at vulputate neque, ut tempus purus. Etiam ac nunc odio. Aliquam tellus est, adipiscing sit amet enim vel, luctus egestas eros. Morbi in accumsan diam, nec commodo neque. Curabitur at nisl non magna venenatis vehicula. Duis non sagittis mauris, et fermentum nunc. Integer sapien nisi, mollis commodo pellentesque eu, rutrum volutpat ipsum. Etiam non scelerisque ligula. Donec iaculis lorem lorem, quis porttitor velit molestie eget. Nunc mollis nibh nec ipsum tincidunt, vel lobortis erat mattis. Suspendisse leo libero, blandit sit amet turpis non, tincidunt egestas nunc. Integer venenatis lectus justo, a sodales odio auctor ut. Morbi purus sem, rhoncus id magna non, eleifend blandit urna. Fusce bibendum augue non nisl aliquet ultricies. Praesent tincidunt lacus quis velit cursus, quis egestas nunc pretium. Pellentesque eu est ultricies, molestie lacus eget, consectetur erat. Nullam condimentum fringilla tempor. Morbi a pellentesque turpis. Curabitur ut elit nulla. Nam vitae sodales enim, vel dignissim nisl. Donec convallis pharetra sem consectetur molestie. Nulla semper ultrices neque non blandit. Pellentesque eget justo leo. Sed consectetur porttitor metus, vel fringilla sapien adipiscing ac. Pellentesque vel risus posuere, dapibus leo varius, fermentum arcu. Nulla in ligula luctus, molestie ligula vel, interdum est. Donec sed erat dolor. Sed cursus suscipit purus, ut eleifend enim vestibulum sit amet. Morbi elit felis, ornare vitae tellus ut, commodo ullamcorper leo. Cras faucibus, est quis vehicula blandit, tortor ante viverra tellus, at tristique metus erat eget lorem. Vivamus et auctor massa, ac commodo massa. Vestibulum magna mi, auctor nec ultrices ullamcorper, auctor sit amet urna. Nulla facilisi. Fusce purus libero, elementum nec ultricies molestie, pharetra at magna. Cras posuere dui in venenatis dignissim. Donec cursus augue eget lacus mattis, iaculis rutrum elit aliquet. Sed commodo, elit sit amet laoreet laoreet, est nunc euismod sem, eu consequat lorem lacus eget urna. In pharetra velit mauris, non vulputate odio sagittis a. Integer non vulputate velit. Nunc sed tellus molestie, egestas risus eget, pretium eros. Etiam vestibulum eget mauris a hendrerit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean at ipsum eu quam tincidunt dignissim. Etiam egestas eget orci non commodo. In hac habitasse platea dictumst. Fusce semper aliquam dui, vehicula fringilla metus porttitor at. Curabitur mollis non tortor non hendrerit. Morbi ut nibh ut libero ultricies bibendum. Donec varius tincidunt tincidunt. Etiam bibendum consequat felis quis fermentum. Vivamus viverra varius urna a semper. Cras id mi velit. Aenean vitae nunc ullamcorper, sodales arcu ac, vehicula dolor. Proin dignissim ut odio pellentesque lobortis. Cras fermentum placerat arcu sed eleifend. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam sagittis urna eget dui tristique, eu dapibus justo pretium. Vestibulum tincidunt ante sed dictum feugiat. Praesent rhoncus quam a nunc pharetra ultricies. Quisque ac dictum massa, non consequat diam. Suspendisse iaculis ornare tortor volutpat malesuada. Curabitur non sollicitudin nunc, a congue lorem. Vivamus sed hendrerit dui. Phasellus eu libero gravida, eleifend est a, convallis orci. Integer aliquam, tortor vitae semper pretium, justo purus accumsan metus, sit amet vestibulum nisi orci at arcu. Vivamus eu nulla vel leo laoreet aliquet. Quisque at enim eros. Mauris pulvinar dictum felis, aliquet vestibulum odio cursus vitae. Proin diam nulla, condimentum non condimentum a, accumsan vitae felis. In hac habitasse platea dictumst. Curabitur nisl magna, viverra ac vestibulum semper, faucibus fermentum eros. Nunc a gravida eros, et imperdiet arcu. Nunc sit amet sagittis est. In ullamcorper fermentum lorem, vel hendrerit libero auctor nec. Suspendisse in lectus adipiscing, elementum felis vitae, tincidunt mi. Nunc tincidunt eros nisi, in ullamcorper metus dapibus nec. Vestibulum luctus risus ac nisl tincidunt scelerisque. Suspendisse volutpat velit tortor, eget auctor odio placerat at. Suspendisse tristique ligula ullamcorper massa venenatis cursus. Nunc sagittis enim eu feugiat suscipit. Suspendisse accumsan, augue vulputate placerat porta, dolor nulla sodales enim, a bibendum velit ipsum quis elit. Aliquam erat volutpat. Nam sed tempor eros. Suspendisse cursus enim nec dui bibendum, ut pellentesque urna adipiscing. Etiam sit amet eros ac massa sodales sagittis. Mauris eget tristique sapien. Maecenas felis dui, luctus quis dictum nec, scelerisque vel est. Vestibulum tristique velit ac ante viverra, eget malesuada nisl faucibus. Etiam consequat felis mi, et porta sapien faucibus id. Vivamus a mollis metus. Proin dapibus sollicitudin consequat. Pellentesque eu sollicitudin magna. Donec ac magna pretium, gravida mauris eget, egestas nulla. Pellentesque in hendrerit nunc. Sed vitae massa luctus, ultricies nisl eu, tincidunt nunc. Donec gravida mattis consequat. Cras quis sem molestie, faucibus dolor id, pretium mauris. Morbi sit amet leo sed leo tincidunt ultrices. Sed enim purus, adipiscing ut nisl vitae, accumsan scelerisque ipsum. Cras vitae felis lacus.
THIS IS THE LAST LINE.
</div>
<div id="act">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel libero congue, elementum ante vitae, porttitor sem. Cras pharetra ultrices mauris vel posuere. Sed rutrum enim tellus, eu facilisis risus vehicula et. Donec sagittis mattis nunc et vestibulum. Sed auctor purus et ullamcorper tincidunt. Suspendisse lacus purus, ornare nec augue sit amet, pulvinar malesuada metus. Morbi fringilla tempor ante quis elementum. In tempor odio arcu, vel suscipit metus mattis ac. Sed ac nulla ac lacus faucibus hendrerit. Etiam velit urna, pulvinar quis erat ac, cursus convallis lacus. Mauris non convallis orci, nec congue urna. Sed ac diam vitae erat porta viverra id nec tellus. Aliquam blandit nibh sed eros sollicitudin, ac ornare dui sagittis. Etiam semper, neque luctus feugiat facilisis, felis mi hendrerit augue, ut feugiat orci tellus vitae dui. Aenean ullamcorper consectetur quam sed dictum. Nam viverra elit lorem, sed eleifend augue interdum sit amet. Maecenas lacinia lectus eget vulputate tristique. Cras eget quam eu libero fringilla tincidunt. Aenean at nibh eget lacus vestibulum tristique ac sit amet nunc. Integer at vulputate neque, ut tempus purus. Etiam ac nunc odio. Aliquam tellus est, adipiscing sit amet enim vel, luctus egestas eros. Morbi in accumsan diam, nec commodo neque. Curabitur at nisl non magna venenatis vehicula. Duis non sagittis mauris, et fermentum nunc. Integer sapien nisi, mollis commodo pellentesque eu, rutrum volutpat ipsum. Etiam non scelerisque ligula. Donec iaculis lorem lorem, quis porttitor velit molestie eget. Nunc mollis nibh nec ipsum tincidunt, vel lobortis erat mattis. Suspendisse leo libero, blandit sit amet turpis non, tincidunt egestas nunc. Integer venenatis lectus justo, a sodales odio auctor ut. Morbi purus sem, rhoncus id magna non, eleifend blandit urna. Fusce bibendum augue non nisl aliquet ultricies. Praesent tincidunt lacus quis velit cursus, quis egestas nunc pretium. Pellentesque eu est ultricies, molestie lacus eget, consectetur erat. Nullam condimentum fringilla tempor. Morbi a pellentesque turpis. Curabitur ut elit nulla. Nam vitae sodales enim, vel dignissim nisl. Donec convallis pharetra sem consectetur molestie. Nulla semper ultrices neque non blandit. Pellentesque eget justo leo. Sed consectetur porttitor metus, vel fringilla sapien adipiscing ac. Pellentesque vel risus posuere, dapibus leo varius, fermentum arcu. Nulla in ligula luctus, molestie ligula vel, interdum est. Donec sed erat dolor. Sed cursus suscipit purus, ut eleifend enim vestibulum sit amet. Morbi elit felis, ornare vitae tellus ut, commodo ullamcorper leo. Cras faucibus, est quis vehicula blandit, tortor ante viverra tellus, at tristique metus erat eget lorem. Vivamus et auctor massa, ac commodo massa. Vestibulum magna mi, auctor nec ultrices ullamcorper, auctor sit amet urna. Nulla facilisi. Fusce purus libero, elementum nec ultricies molestie, pharetra at magna. Cras posuere dui in venenatis dignissim. Donec cursus augue eget lacus mattis, iaculis rutrum elit aliquet. Sed commodo, elit sit amet laoreet laoreet, est nunc euismod sem, eu consequat lorem lacus eget urna. In pharetra velit mauris, non vulputate odio sagittis a. Integer non vulputate velit. Nunc sed tellus molestie, egestas risus eget, pretium eros. Etiam vestibulum eget mauris a hendrerit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean at ipsum eu quam tincidunt dignissim. Etiam egestas eget orci non commodo. In hac habitasse platea dictumst. Fusce semper aliquam dui, vehicula fringilla metus porttitor at. Curabitur mollis non tortor non hendrerit. Morbi ut nibh ut libero ultricies bibendum. Donec varius tincidunt tincidunt. Etiam bibendum consequat felis quis fermentum. Vivamus viverra varius urna a semper. Cras id mi velit. Aenean vitae nunc ullamcorper, sodales arcu ac, vehicula dolor. Proin dignissim ut odio pellentesque lobortis. Cras fermentum placerat arcu sed eleifend. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam sagittis urna eget dui tristique, eu dapibus justo pretium. Vestibulum tincidunt ante sed dictum feugiat. Praesent rhoncus quam a nunc pharetra ultricies. Quisque ac dictum massa, non consequat diam. Suspendisse iaculis ornare tortor volutpat malesuada. Curabitur non sollicitudin nunc, a congue lorem. Vivamus sed hendrerit dui. Phasellus eu libero gravida, eleifend est a, convallis orci. Integer aliquam, tortor vitae semper pretium, justo purus accumsan metus, sit amet vestibulum nisi orci at arcu. Vivamus eu nulla vel leo laoreet aliquet. Quisque at enim eros. Mauris pulvinar dictum felis, aliquet vestibulum odio cursus vitae. Proin diam nulla, condimentum non condimentum a, accumsan vitae felis. In hac habitasse platea dictumst. Curabitur nisl magna, viverra ac vestibulum semper, faucibus fermentum eros. Nunc a gravida eros, et imperdiet arcu. Nunc sit amet sagittis est. In ullamcorper fermentum lorem, vel hendrerit libero auctor nec. Suspendisse in lectus adipiscing, elementum felis vitae, tincidunt mi. Nunc tincidunt eros nisi, in ullamcorper metus dapibus nec. Vestibulum luctus risus ac nisl tincidunt scelerisque. Suspendisse volutpat velit tortor, eget auctor odio placerat at. Suspendisse tristique ligula ullamcorper massa venenatis cursus. Nunc sagittis enim eu feugiat suscipit. Suspendisse accumsan, augue vulputate placerat porta, dolor nulla sodales enim, a bibendum velit ipsum quis elit. Aliquam erat volutpat. Nam sed tempor eros. Suspendisse cursus enim nec dui bibendum, ut pellentesque urna adipiscing. Etiam sit amet eros ac massa sodales sagittis. Mauris eget tristique sapien. Maecenas felis dui, luctus quis dictum nec, scelerisque vel est. Vestibulum tristique velit ac ante viverra, eget malesuada nisl faucibus. Etiam consequat felis mi, et porta sapien faucibus id. Vivamus a mollis metus. Proin dapibus sollicitudin consequat. Pellentesque eu sollicitudin magna. Donec ac magna pretium, gravida mauris eget, egestas nulla. Pellentesque in hendrerit nunc. Sed vitae massa luctus, ultricies nisl eu, tincidunt nunc. Donec gravida mattis consequat. Cras quis sem molestie, faucibus dolor id, pretium mauris. Morbi sit amet leo sed leo tincidunt ultrices. Sed enim purus, adipiscing ut nisl vitae, accumsan scelerisque ipsum. Cras vitae felis lacus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vel libero congue, elementum ante vitae, porttitor sem. Cras pharetra ultrices mauris vel posuere. Sed rutrum enim tellus, eu facilisis risus vehicula et. Donec sagittis mattis nunc et vestibulum. Sed auctor purus et ullamcorper tincidunt. Suspendisse lacus purus, ornare nec augue sit amet, pulvinar malesuada metus. Morbi fringilla tempor ante quis elementum. In tempor odio arcu, vel suscipit metus mattis ac. Sed ac nulla ac lacus faucibus hendrerit. Etiam velit urna, pulvinar quis erat ac, cursus convallis lacus. Mauris non convallis orci, nec congue urna. Sed ac diam vitae erat porta viverra id nec tellus. Aliquam blandit nibh sed eros sollicitudin, ac ornare dui sagittis. Etiam semper, neque luctus feugiat facilisis, felis mi hendrerit augue, ut feugiat orci tellus vitae dui. Aenean ullamcorper consectetur quam sed dictum. Nam viverra elit lorem, sed eleifend augue interdum sit amet. Maecenas lacinia lectus eget vulputate tristique. Cras eget quam eu libero fringilla tincidunt. Aenean at nibh eget lacus vestibulum tristique ac sit amet nunc. Integer at vulputate neque, ut tempus purus. Etiam ac nunc odio. Aliquam tellus est, adipiscing sit amet enim vel, luctus egestas eros. Morbi in accumsan diam, nec commodo neque. Curabitur at nisl non magna venenatis vehicula. Duis non sagittis mauris, et fermentum nunc. Integer sapien nisi, mollis commodo pellentesque eu, rutrum volutpat ipsum. Etiam non scelerisque ligula. Donec iaculis lorem lorem, quis porttitor velit molestie eget. Nunc mollis nibh nec ipsum tincidunt, vel lobortis erat mattis. Suspendisse leo libero, blandit sit amet turpis non, tincidunt egestas nunc. Integer venenatis lectus justo, a sodales odio auctor ut. Morbi purus sem, rhoncus id magna non, eleifend blandit urna. Fusce bibendum augue non nisl aliquet ultricies. Praesent tincidunt lacus quis velit cursus, quis egestas nunc pretium. Pellentesque eu est ultricies, molestie lacus eget, consectetur erat. Nullam condimentum fringilla tempor. Morbi a pellentesque turpis. Curabitur ut elit nulla. Nam vitae sodales enim, vel dignissim nisl. Donec convallis pharetra sem consectetur molestie. Nulla semper ultrices neque non blandit. Pellentesque eget justo leo. Sed consectetur porttitor metus, vel fringilla sapien adipiscing ac. Pellentesque vel risus posuere, dapibus leo varius, fermentum arcu. Nulla in ligula luctus, molestie ligula vel, interdum est. Donec sed erat dolor. Sed cursus suscipit purus, ut eleifend enim vestibulum sit amet. Morbi elit felis, ornare vitae tellus ut, commodo ullamcorper leo. Cras faucibus, est quis vehicula blandit, tortor ante viverra tellus, at tristique metus erat eget lorem. Vivamus et auctor massa, ac commodo massa. Vestibulum magna mi, auctor nec ultrices ullamcorper, auctor sit amet urna. Nulla facilisi. Fusce purus libero, elementum nec ultricies molestie, pharetra at magna. Cras posuere dui in venenatis dignissim. Donec cursus augue eget lacus mattis, iaculis rutrum elit aliquet. Sed commodo, elit sit amet laoreet laoreet, est nunc euismod sem, eu consequat lorem lacus eget urna. In pharetra velit mauris, non vulputate odio sagittis a. Integer non vulputate velit. Nunc sed tellus molestie, egestas risus eget, pretium eros. Etiam vestibulum eget mauris a hendrerit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean at ipsum eu quam tincidunt dignissim. Etiam egestas eget orci non commodo. In hac habitasse platea dictumst. Fusce semper aliquam dui, vehicula fringilla metus porttitor at. Curabitur mollis non tortor non hendrerit. Morbi ut nibh ut libero ultricies bibendum. Donec varius tincidunt tincidunt. Etiam bibendum consequat felis quis fermentum. Vivamus viverra varius urna a semper. Cras id mi velit. Aenean vitae nunc ullamcorper, sodales arcu ac, vehicula dolor. Proin dignissim ut odio pellentesque lobortis. Cras fermentum placerat arcu sed eleifend. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam sagittis urna eget dui tristique, eu dapibus justo pretium. Vestibulum tincidunt ante sed dictum feugiat. Praesent rhoncus quam a nunc pharetra ultricies. Quisque ac dictum massa, non consequat diam. Suspendisse iaculis ornare tortor volutpat malesuada. Curabitur non sollicitudin nunc, a congue lorem. Vivamus sed hendrerit dui. Phasellus eu libero gravida, eleifend est a, convallis orci. Integer aliquam, tortor vitae semper pretium, justo purus accumsan metus, sit amet vestibulum nisi orci at arcu. Vivamus eu nulla vel leo laoreet aliquet. Quisque at enim eros. Mauris pulvinar dictum felis, aliquet vestibulum odio cursus vitae. Proin diam nulla, condimentum non condimentum a, accumsan vitae felis. In hac habitasse platea dictumst. Curabitur nisl magna, viverra ac vestibulum semper, faucibus fermentum eros. Nunc a gravida eros, et imperdiet arcu. Nunc sit amet sagittis est. In ullamcorper fermentum lorem, vel hendrerit libero auctor nec. Suspendisse in lectus adipiscing, elementum felis vitae, tincidunt mi. Nunc tincidunt eros nisi, in ullamcorper metus dapibus nec. Vestibulum luctus risus ac nisl tincidunt scelerisque. Suspendisse volutpat velit tortor, eget auctor odio placerat at. Suspendisse tristique ligula ullamcorper massa venenatis cursus. Nunc sagittis enim eu feugiat suscipit. Suspendisse accumsan, augue vulputate placerat porta, dolor nulla sodales enim, a bibendum velit ipsum quis elit. Aliquam erat volutpat. Nam sed tempor eros. Suspendisse cursus enim nec dui bibendum, ut pellentesque urna adipiscing. Etiam sit amet eros ac massa sodales sagittis. Mauris eget tristique sapien. Maecenas felis dui, luctus quis dictum nec, scelerisque vel est. Vestibulum tristique velit ac ante viverra, eget malesuada nisl faucibus. Etiam consequat felis mi, et porta sapien faucibus id. Vivamus a mollis metus. Proin dapibus sollicitudin consequat. Pellentesque eu sollicitudin magna. Donec ac magna pretium, gravida mauris eget, egestas nulla. Pellentesque in hendrerit nunc. Sed vitae massa luctus, ultricies nisl eu, tincidunt nunc. Donec gravida mattis consequat. Cras quis sem molestie, faucibus dolor id, pretium mauris. Morbi sit amet leo sed leo tincidunt ultrices. Sed enim purus, adipiscing ut nisl vitae, accumsan scelerisque ipsum. Cras vitae felis lacus.
THIS IS THE LAST LINE.
</div>
</div>
</div>
<footer> </footer>
</body>
</html>