I'm making a "semantic" html5 model for all the articles in a website. This is what could be great :
<article>
<header>
<h2 id="title">MAIN TITLE</h2>
<h3 id="sub-title">SECOND TITLE</h3>
<img src="img.jpg" alt="article image"/>
</header>
<section id="main"><!-- use of section tag is optional here -->
<p>ARTICLE TEXT</p>
</section>
<footer>
<time datetime="2012-02-02">2 février 2012</time>
<span class="tags-label">Mots-clef :</span>
<h4 id="tag1">TAG 1</h4>
<h4 id="tag2">TAG 2</h4>
</footer>
</article>
But I want <header> and <section id="main"> to be ONE scrollable block at the top of the page while footer will be fixed at the bottom. I use a custom scrollbar (sly.js) which needs some extra wrapper divs. So I must have something like that :
<article>
<div id="first-scrollbar-wrapper"><div id="second-scrollbar-wrapper">
<header>
<h2 id="title">MAIN TITLE</h2>
<h3 id="sub-title">SECOND TITLE</h3>
<img src="img.jpg" alt="article image"/>
</header>
<section id="main">
<p>ARTICLE TEXT</p>
</section>
</div></div>
<footer>
<time datetime="2012-02-02">2 février 2012</time>
<span class="tags-label">Mots-clef :</span>
<h4 id="tag1">TAG 1</h4>
<h4 id="tag2">TAG 2</h4>
</footer>
</article>
QUESTION : Is it acceptable? Don't you think the extra wrapper divs are "breaking" the semantic flow?
But I want <header> and <section id="main"> to be ONE scrollable block at the top of the page while footer will be fixed at the bottom
You can declare
position: fixed;
for the <footer>.
This will obviate the need to surround <header> and <section id="main"> (or <main>) with a container <div>.
Edit:
I've just realised this doesn't work.
You'd be entirely forgiven for imagining that position:fixed works in exactly the same way as position:absolute.
ie. If an element with position:fixed has a parent with position:relative, the contained element will be fixed relative to its container.
But it isn't - and apparently, this is a perennial frustration.
So... here's a javascript to fix the problem and to enable
position:fixed-relative-to-parent
Example:
function fixFooter(article) {
var footer = article.getElementsByTagName('footer')[0];
var articleScrollTop = article.scrollTop;
var articleHeight = parseInt(window.getComputedStyle(article).getPropertyValue('height'));
var footerHeight = parseInt(window.getComputedStyle(footer).getPropertyValue('height'));
footerHeight += parseInt(window.getComputedStyle(footer).getPropertyValue('padding-top'));
footerHeight += parseInt(window.getComputedStyle(footer).getPropertyValue('padding-bottom'));
footerHeight += parseInt(window.getComputedStyle(footer).getPropertyValue('border-top-width'));
footerHeight += parseInt(window.getComputedStyle(footer).getPropertyValue('border-bottom-width'));
var footerTopPosition = articleScrollTop + articleHeight - footerHeight;
var footerTop = footerTopPosition + 'px';
footer.style.top = footerTop;
}
function initialiseArticlesFunction(i) {
return function(){
var article = document.getElementsByTagName('article')[i];
article.addEventListener('scroll',function(){fixFooter(article);},false);
}
}
function initialiseArticles() {
var initialiseArticles = [];
var articles = document.getElementsByTagName('article');
for (var i = 0; i < articles.length; i++) {
var footer = articles[i].getElementsByTagName('footer')[0];
if (window.getComputedStyle(footer).getPropertyValue('position') === 'fixed') {
footer.classList.add('fixed-relative-to-parent');
fixFooter(articles[i]);
}
initialiseArticles[i] = initialiseArticlesFunction(i);
initialiseArticles[i]();
}
}
window.addEventListener('load',initialiseArticles,false);
article {
position:relative;
display:inline-block;
margin: 0 60px 0 0;
padding:0;
border: 2px solid rgb(127,127,127);
width: 220px;
height: 400px;
overflow-y: scroll;
}
article footer {
display:block;
position: fixed;
width: 191px;
height: 120px;
padding:6px;
background-color: rgb(227,227,0);
}
.fixed-relative-to-parent {
position: absolute;
left: 0;
}
<article>
<header>
<h2 id="title">MAIN TITLE</h2>
<h3 id="sub-title">SECOND TITLE</h3>
<img src="img.jpg" alt="article image"/>
</header>
<section id="main"><!-- use of section tag is optional here -->
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non bibendum neque. Nam fringilla sit amet turpis at ultrices. Cras laoreet, justo id varius malesuada, orci dui volutpat dolor, quis varius sapien ligula sed lectus. Proin posuere facilisis orci. Maecenas condimentum fermentum purus ut porttitor. Quisque placerat ullamcorper urna, a tristique magna tempus et. Praesent rutrum sit amet quam ut eleifend. Integer tempor mauris ac orci faucibus malesuada. Nulla facilisi. Sed odio velit, iaculis in facilisis quis, sagittis eu erat.</p>p>
<p>Fusce ullamcorper varius ornare. Duis scelerisque molestie venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras eget dui commodo purus cursus luctus id id arcu. Quisque cursus euismod purus, vitae malesuada magna vestibulum at. Etiam dictum purus ac dui viverra, non vulputate arcu iaculis. Quisque eget commodo eros.</p>
<p>Nunc vel est eros. Maecenas commodo massa felis, sit amet feugiat neque imperdiet a. Curabitur non ligula posuere, condimentum orci nec, pulvinar metus. Suspendisse faucibus massa quis ex suscipit malesuada. Integer facilisis lacus vitae odio dapibus, et ultrices massa euismod. Nam ipsum ante, molestie ac accumsan id, interdum vitae orci. Aenean accumsan turpis ante, ut lobortis mi dapibus sed. Etiam magna urna, vehicula a mauris ac, aliquet vestibulum sapien. Sed eu nulla fringilla, lacinia libero ac, vestibulum velit. Sed sed lectus augue.</p>
<p>Pellentesque facilisis fermentum leo sit amet vehicula. Sed posuere neque a nibh lobortis egestas. Vivamus non massa ut ligula viverra volutpat nec non mi. Ut lacinia viverra ligula, sit amet placerat arcu egestas at. Suspendisse nec dui non felis ultrices suscipit pretium id erat. Aenean in mauris in magna pharetra vehicula non id elit. Maecenas eu urna fermentum, placerat ligula vitae, volutpat metus. Nullam aliquet nec justo at elementum. Proin gravida scelerisque faucibus. Duis dignissim justo rutrum lorem vestibulum, ut cursus dui efficitur. Donec vitae mollis quam. Donec maximus ipsum vel mi pulvinar molestie.</p>
<p>Fusce facilisis pharetra nulla nec imperdiet. Sed sit amet vulputate massa. Etiam semper arcu quis venenatis ornare. Suspendisse rhoncus libero tortor, sit amet ullamcorper mi elementum sit amet. Etiam eu tortor lacus. Nam ut enim nec dui ultricies auctor. Maecenas semper felis sit amet posuere tempus. Suspendisse volutpat vehicula nisi, vel consequat erat malesuada vitae. Fusce tempus lectus at lectus pretium ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer at accumsan sem. Donec semper nibh cursus posuere fringilla.</p>
</section>
<footer>
<time datetime="2012-02-02">2 février 2012</time>
<span class="tags-label">Mots-clef :</span>
<h4 id="tag1">TAG 1</h4>
<h4 id="tag2">TAG 2</h4>
</footer>
</article>
<article>
<header>
<h2 id="title">MAIN TITLE 2</h2>
<h3 id="sub-title">SECOND TITLE 2</h3>
<img src="img.jpg" alt="article image 2"/>
</header>
<section id="main"><!-- use of section tag is optional here -->
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non bibendum neque. Nam fringilla sit amet turpis at ultrices. Cras laoreet, justo id varius malesuada, orci dui volutpat dolor, quis varius sapien ligula sed lectus. Proin posuere facilisis orci. Maecenas condimentum fermentum purus ut porttitor. Quisque placerat ullamcorper urna, a tristique magna tempus et. Praesent rutrum sit amet quam ut eleifend. Integer tempor mauris ac orci faucibus malesuada. Nulla facilisi. Sed odio velit, iaculis in facilisis quis, sagittis eu erat.</p>p>
<p>Fusce ullamcorper varius ornare. Duis scelerisque molestie venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras eget dui commodo purus cursus luctus id id arcu. Quisque cursus euismod purus, vitae malesuada magna vestibulum at. Etiam dictum purus ac dui viverra, non vulputate arcu iaculis. Quisque eget commodo eros.</p>
<p>Nunc vel est eros. Maecenas commodo massa felis, sit amet feugiat neque imperdiet a. Curabitur non ligula posuere, condimentum orci nec, pulvinar metus. Suspendisse faucibus massa quis ex suscipit malesuada. Integer facilisis lacus vitae odio dapibus, et ultrices massa euismod. Nam ipsum ante, molestie ac accumsan id, interdum vitae orci. Aenean accumsan turpis ante, ut lobortis mi dapibus sed. Etiam magna urna, vehicula a mauris ac, aliquet vestibulum sapien. Sed eu nulla fringilla, lacinia libero ac, vestibulum velit. Sed sed lectus augue.</p>
<p>Pellentesque facilisis fermentum leo sit amet vehicula. Sed posuere neque a nibh lobortis egestas. Vivamus non massa ut ligula viverra volutpat nec non mi. Ut lacinia viverra ligula, sit amet placerat arcu egestas at. Suspendisse nec dui non felis ultrices suscipit pretium id erat. Aenean in mauris in magna pharetra vehicula non id elit. Maecenas eu urna fermentum, placerat ligula vitae, volutpat metus. Nullam aliquet nec justo at elementum. Proin gravida scelerisque faucibus. Duis dignissim justo rutrum lorem vestibulum, ut cursus dui efficitur. Donec vitae mollis quam. Donec maximus ipsum vel mi pulvinar molestie.</p>
<p>Fusce facilisis pharetra nulla nec imperdiet. Sed sit amet vulputate massa. Etiam semper arcu quis venenatis ornare. Suspendisse rhoncus libero tortor, sit amet ullamcorper mi elementum sit amet. Etiam eu tortor lacus. Nam ut enim nec dui ultricies auctor. Maecenas semper felis sit amet posuere tempus. Suspendisse volutpat vehicula nisi, vel consequat erat malesuada vitae. Fusce tempus lectus at lectus pretium ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer at accumsan sem. Donec semper nibh cursus posuere fringilla.</p>
</section>
<footer>
<time datetime="2012-02-02">2 février 2012</time>
<span class="tags-label">Mots-clef :</span>
<h4 id="tag1">TAG 1</h4>
<h4 id="tag2">TAG 2</h4>
</footer>
</article>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non bibendum neque. Nam fringilla sit amet turpis at ultrices. Cras laoreet, justo id varius malesuada, orci dui volutpat dolor, quis varius sapien ligula sed lectus. Proin posuere facilisis orci. Maecenas condimentum fermentum purus ut porttitor. Quisque placerat ullamcorper urna, a tristique magna tempus et. Praesent rutrum sit amet quam ut eleifend. Integer tempor mauris ac orci faucibus malesuada. Nulla facilisi. Sed odio velit, iaculis in facilisis quis, sagittis eu erat.</p>
<p>Fusce ullamcorper varius ornare. Duis scelerisque molestie venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras eget dui commodo purus cursus luctus id id arcu. Quisque cursus euismod purus, vitae malesuada magna vestibulum at. Etiam dictum purus ac dui viverra, non vulputate arcu iaculis. Quisque eget commodo eros.</p>
<p>Nunc vel est eros. Maecenas commodo massa felis, sit amet feugiat neque imperdiet a. Curabitur non ligula posuere, condimentum orci nec, pulvinar metus. Suspendisse faucibus massa quis ex suscipit malesuada. Integer facilisis lacus vitae odio dapibus, et ultrices massa euismod. Nam ipsum ante, molestie ac accumsan id, interdum vitae orci. Aenean accumsan turpis ante, ut lobortis mi dapibus sed. Etiam magna urna, vehicula a mauris ac, aliquet vestibulum sapien. Sed eu nulla fringilla, lacinia libero ac, vestibulum velit. Sed sed lectus augue.</p>
<p>Pellentesque facilisis fermentum leo sit amet vehicula. Sed posuere neque a nibh lobortis egestas. Vivamus non massa ut ligula viverra volutpat nec non mi. Ut lacinia viverra ligula, sit amet placerat arcu egestas at. Suspendisse nec dui non felis ultrices suscipit pretium id erat. Aenean in mauris in magna pharetra vehicula non id elit. Maecenas eu urna fermentum, placerat ligula vitae, volutpat metus. Nullam aliquet nec justo at elementum. Proin gravida scelerisque faucibus. Duis dignissim justo rutrum lorem vestibulum, ut cursus dui efficitur. Donec vitae mollis quam. Donec maximus ipsum vel mi pulvinar molestie.</p>
<p>Fusce facilisis pharetra nulla nec imperdiet. Sed sit amet vulputate massa. Etiam semper arcu quis venenatis ornare. Suspendisse rhoncus libero tortor, sit amet ullamcorper mi elementum sit amet. Etiam eu tortor lacus. Nam ut enim nec dui ultricies auctor. Maecenas semper felis sit amet posuere tempus. Suspendisse volutpat vehicula nisi, vel consequat erat malesuada vitae. Fusce tempus lectus at lectus pretium ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer at accumsan sem. Donec semper nibh cursus posuere fringilla.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non bibendum neque. Nam fringilla sit amet turpis at ultrices. Cras laoreet, justo id varius malesuada, orci dui volutpat dolor, quis varius sapien ligula sed lectus. Proin posuere facilisis orci. Maecenas condimentum fermentum purus ut porttitor. Quisque placerat ullamcorper urna, a tristique magna tempus et. Praesent rutrum sit amet quam ut eleifend. Integer tempor mauris ac orci faucibus malesuada. Nulla facilisi. Sed odio velit, iaculis in facilisis quis, sagittis eu erat.</p>
<p>Fusce ullamcorper varius ornare. Duis scelerisque molestie venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras eget dui commodo purus cursus luctus id id arcu. Quisque cursus euismod purus, vitae malesuada magna vestibulum at. Etiam dictum purus ac dui viverra, non vulputate arcu iaculis. Quisque eget commodo eros.</p>
<p>Nunc vel est eros. Maecenas commodo massa felis, sit amet feugiat neque imperdiet a. Curabitur non ligula posuere, condimentum orci nec, pulvinar metus. Suspendisse faucibus massa quis ex suscipit malesuada. Integer facilisis lacus vitae odio dapibus, et ultrices massa euismod. Nam ipsum ante, molestie ac accumsan id, interdum vitae orci. Aenean accumsan turpis ante, ut lobortis mi dapibus sed. Etiam magna urna, vehicula a mauris ac, aliquet vestibulum sapien. Sed eu nulla fringilla, lacinia libero ac, vestibulum velit. Sed sed lectus augue.</p>
<p>Pellentesque facilisis fermentum leo sit amet vehicula. Sed posuere neque a nibh lobortis egestas. Vivamus non massa ut ligula viverra volutpat nec non mi. Ut lacinia viverra ligula, sit amet placerat arcu egestas at. Suspendisse nec dui non felis ultrices suscipit pretium id erat. Aenean in mauris in magna pharetra vehicula non id elit. Maecenas eu urna fermentum, placerat ligula vitae, volutpat metus. Nullam aliquet nec justo at elementum. Proin gravida scelerisque faucibus. Duis dignissim justo rutrum lorem vestibulum, ut cursus dui efficitur. Donec vitae mollis quam. Donec maximus ipsum vel mi pulvinar molestie.</p>
<p>Fusce facilisis pharetra nulla nec imperdiet. Sed sit amet vulputate massa. Etiam semper arcu quis venenatis ornare. Suspendisse rhoncus libero tortor, sit amet ullamcorper mi elementum sit amet. Etiam eu tortor lacus. Nam ut enim nec dui ultricies auctor. Maecenas semper felis sit amet posuere tempus. Suspendisse volutpat vehicula nisi, vel consequat erat malesuada vitae. Fusce tempus lectus at lectus pretium ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer at accumsan sem. Donec semper nibh cursus posuere fringilla.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non bibendum neque. Nam fringilla sit amet turpis at ultrices. Cras laoreet, justo id varius malesuada, orci dui volutpat dolor, quis varius sapien ligula sed lectus. Proin posuere facilisis orci. Maecenas condimentum fermentum purus ut porttitor. Quisque placerat ullamcorper urna, a tristique magna tempus et. Praesent rutrum sit amet quam ut eleifend. Integer tempor mauris ac orci faucibus malesuada. Nulla facilisi. Sed odio velit, iaculis in facilisis quis, sagittis eu erat.</p>
<p>Fusce ullamcorper varius ornare. Duis scelerisque molestie venenatis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras eget dui commodo purus cursus luctus id id arcu. Quisque cursus euismod purus, vitae malesuada magna vestibulum at. Etiam dictum purus ac dui viverra, non vulputate arcu iaculis. Quisque eget commodo eros.</p>
<p>Nunc vel est eros. Maecenas commodo massa felis, sit amet feugiat neque imperdiet a. Curabitur non ligula posuere, condimentum orci nec, pulvinar metus. Suspendisse faucibus massa quis ex suscipit malesuada. Integer facilisis lacus vitae odio dapibus, et ultrices massa euismod. Nam ipsum ante, molestie ac accumsan id, interdum vitae orci. Aenean accumsan turpis ante, ut lobortis mi dapibus sed. Etiam magna urna, vehicula a mauris ac, aliquet vestibulum sapien. Sed eu nulla fringilla, lacinia libero ac, vestibulum velit. Sed sed lectus augue.</p>
<p>Pellentesque facilisis fermentum leo sit amet vehicula. Sed posuere neque a nibh lobortis egestas. Vivamus non massa ut ligula viverra volutpat nec non mi. Ut lacinia viverra ligula, sit amet placerat arcu egestas at. Suspendisse nec dui non felis ultrices suscipit pretium id erat. Aenean in mauris in magna pharetra vehicula non id elit. Maecenas eu urna fermentum, placerat ligula vitae, volutpat metus. Nullam aliquet nec justo at elementum. Proin gravida scelerisque faucibus. Duis dignissim justo rutrum lorem vestibulum, ut cursus dui efficitur. Donec vitae mollis quam. Donec maximus ipsum vel mi pulvinar molestie.</p>
<p>Fusce facilisis pharetra nulla nec imperdiet. Sed sit amet vulputate massa. Etiam semper arcu quis venenatis ornare. Suspendisse rhoncus libero tortor, sit amet ullamcorper mi elementum sit amet. Etiam eu tortor lacus. Nam ut enim nec dui ultricies auctor. Maecenas semper felis sit amet posuere tempus. Suspendisse volutpat vehicula nisi, vel consequat erat malesuada vitae. Fusce tempus lectus at lectus pretium ultricies. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer at accumsan sem. Donec semper nibh cursus posuere fringilla.</p>
Related
I have string which 10558 characters long contains HTML Markup like:
<html>
<body>
.......
.......
.......
</body>
</html>
I am fetching that using AJAX call.
What I want is, to show that HTML markup in a element on MVC page,
I tried with 200 characters string which works fine but when it comes to 10558 characters then the window gets hanged.
What is the best way to show the large HTML markup in div?
(You said you're getting the HTML from an AJAX call - as opposed to rendering it server-side using Razor).
If you want to show the markup so that human users can "see" the HTML syntax, then set .textContent:
var htmlFromAjax = ...
var e = document.createElement("pre");
e.textContent = htmlFromAjax;
document.body.appendChild( e );
If you actually want to render the HTML as HTML inside the document, then using innerHTML is acceptable for this task - assuming you fully-trust the source of the AJAX response not to return malicious HTML that might contain scripts (and regardless, you should set a Content-Security-Policy on your document so browsers won't execute any added scripts anyway):
var htmlFromAjax = ...
var div = document.createElement("div");
e.innerHTML = htmlFromAjax;
document.body.appendChild( e );
This is 10K - nothing special
If you want to see the markup, replace all < with <
<div id="Inner">
<h1>Lorem Ipsum</h1>
<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
<hr>
<div id="Content">
<div class="boxed">
<div id="lipsum">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec euismod nulla sit amet feugiat facilisis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis felis magna, faucibus non blandit id, luctus quis ante. Ut posuere felis neque,
ut semper turpis rhoncus et. Vivamus convallis erat sed nisl dignissim posuere. Morbi hendrerit mattis quam at scelerisque. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Integer congue ligula nec arcu
venenatis consectetur. Suspendisse id quam finibus, semper lorem sit amet, elementum augue. Praesent facilisis volutpat nisi, at vehicula arcu imperdiet ut. Cras viverra sit amet nulla ut porta. Suspendisse tempus accumsan ligula quis gravida.
</p>
<p>
Proin non faucibus ligula. Donec aliquam dapibus tellus, eget feugiat eros laoreet vel. Ut convallis, magna a luctus sodales, massa nisl cursus justo, eget ornare dolor purus nec ligula. In hac habitasse platea dictumst. Cras non porta dui. Vivamus at
iaculis eros. Integer vestibulum risus et nisi congue, eu auctor diam consectetur. Duis hendrerit tristique quam quis vehicula.
</p>
<p>
Nulla placerat scelerisque tellus, eget tempor purus vehicula eget. Nunc dictum ipsum a laoreet fermentum. Sed id nulla ut sapien tincidunt faucibus. Sed pretium placerat lorem vitae pharetra. Curabitur libero est, euismod molestie est sit amet, dapibus
accumsan libero. Aliquam eget facilisis ante. Fusce et nibh at nisl semper egestas ut at augue. Sed quam augue, tristique et rutrum ut, consectetur sed dolor. In ultricies odio eget erat pharetra vestibulum. Donec blandit, tortor eget molestie
sollicitudin, odio quam feugiat arcu, sed ullamcorper purus felis et felis. Nullam mattis consectetur orci, egestas feugiat orci tristique eu. Nunc convallis felis id ex ornare, sed vestibulum mi tempor. Donec sodales eros sit amet nibh tempus
tristique.
</p>
<p>
Morbi non sapien nibh. Curabitur vel velit eget lectus consectetur imperdiet. Proin suscipit nulla mauris, vel mattis sem porttitor quis. Ut sit amet convallis arcu, non eleifend felis. Phasellus porta scelerisque lacus, vel consectetur nunc convallis
eget. Pellentesque pellentesque lobortis nisl et porta. Aenean fermentum et enim ac volutpat. Suspendisse aliquet, mi ut ullamcorper elementum, orci ligula vehicula lacus, lobortis lacinia lacus mi ut augue. Aliquam varius nec sapien fermentum
sollicitudin. Aliquam auctor odio et est ultricies bibendum in vel elit.
</p>
<p>
Phasellus a consequat lectus. Aenean nisi eros, fringilla id libero at, elementum rhoncus magna. Donec ullamcorper blandit nunc non dapibus. Aenean ornare commodo lorem at convallis. Nam eros eros, volutpat non scelerisque eu, blandit ac elit. Nulla facilisi.
Curabitur id dignissim elit, ultricies vulputate risus.
</p>
<p>
Nunc ac orci a elit rutrum semper. Vestibulum in commodo erat. Nam iaculis congue euismod. Phasellus laoreet nibh non mauris condimentum vulputate. Donec eget diam porta, eleifend leo vitae, pellentesque turpis. Quisque suscipit dictum nibh pellentesque
sollicitudin. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</p>
<p>
Integer neque felis, dictum eget neque eget, rutrum vestibulum sapien. Sed erat elit, convallis in sem et, efficitur cursus lacus. Etiam tempor leo sapien, eu placerat arcu lobortis ac. Donec dapibus ullamcorper lectus ac facilisis. Vestibulum facilisis,
odio ac mollis sollicitudin, nibh massa pharetra odio, vitae pharetra metus nibh quis urna. Nulla nunc risus, dictum id placerat quis, accumsan feugiat augue. Aliquam quis efficitur tortor. Quisque varius felis eros, id consectetur enim porta
quis.
</p>
<p>
Nam id purus vitae nulla placerat commodo. Cras faucibus vehicula lectus ac pharetra. Aenean id elit ut risus ultrices ullamcorper sit amet convallis dui. Donec facilisis, leo quis ultricies fermentum, massa urna sagittis turpis, non tempus erat diam
eget enim. Morbi mauris leo, pulvinar eu aliquam eget, lacinia sit amet mauris. Donec blandit mollis nunc nec maximus. Donec at lacinia ligula, a euismod ex. Nunc accumsan venenatis ipsum id sodales. Interdum et malesuada fames ac ante ipsum
primis in faucibus. Pellentesque eu viverra urna. Praesent ullamcorper aliquam lacus ac vestibulum. Donec efficitur efficitur purus, id venenatis nisl laoreet eu. Ut elit urna, faucibus in elit ac, scelerisque aliquam augue. Etiam blandit magna
ut lectus porta feugiat nec pharetra arcu. Fusce massa turpis, eleifend volutpat erat sed, iaculis interdum nisl. Morbi lobortis tincidunt ex, id elementum nulla sollicitudin nec.
</p>
<p>
Praesent interdum risus ligula, sed volutpat lacus aliquam sit amet. Quisque in dapibus augue. Maecenas ultricies, ipsum sit amet congue suscipit, neque mi vehicula mi, et auctor sapien diam vitae purus. Proin vitae tincidunt odio, at placerat tellus.
Aenean fermentum libero vel nulla convallis egestas. Suspendisse porttitor orci ex, quis dapibus nibh accumsan sit amet. Curabitur imperdiet nec odio a feugiat. Suspendisse dui risus, dapibus id arcu vitae, varius hendrerit ipsum. Quisque vestibulum
imperdiet venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis laoreet sapien vel lacus molestie tempus. Phasellus eget feugiat tellus. Etiam tristique neque a aliquam commodo.
</p>
<p>
Quisque ut velit laoreet, gravida dolor eget, congue risus. Vestibulum eget tortor at nisi blandit malesuada. Suspendisse mollis nunc ipsum, non fringilla lacus accumsan eu. Nullam vehicula mauris augue, non imperdiet lacus vestibulum a. Phasellus lacinia
scelerisque nulla eu tempus. Cras varius augue turpis, sed hendrerit enim dignissim eget. Morbi elementum ante vel odio rhoncus molestie.
</p>
<p>
Suspendisse sem metus, vulputate non justo eget, consectetur egestas enim. Aliquam erat volutpat. Maecenas ac pretium lectus, non porttitor est. Duis quis suscipit arcu. Ut eget volutpat metus. Vivamus eget turpis aliquam, luctus est vitae, porttitor
arcu. Nunc quis turpis id dui hendrerit convallis. Sed dictum pharetra est, eget malesuada ex vestibulum vel. Donec sit amet lacus a odio lobortis pretium sed ac ex. Suspendisse a scelerisque nisi, in convallis nibh. Ut ullamcorper, quam et
aliquet dictum, dolor urna auctor metus, in varius odio urna in lorem. Pellentesque in felis sollicitudin, fringilla libero non, feugiat magna.
</p>
<p>
Morbi consectetur ultricies nisl, ut commodo nunc. Vestibulum ultrices efficitur justo, vulputate fermentum risus vehicula id. Fusce in quam in elit ullamcorper convallis vitae et tellus. Maecenas at sollicitudin enim, nec iaculis enim. Phasellus tempus
eros vitae mi feugiat, sit amet euismod mauris pharetra. Nam condimentum in mauris sit amet commodo. Donec lacinia, lectus eget rhoncus rutrum, augue orci gravida nibh, ut bibendum felis orci non eros. Nam hendrerit, tellus vitae tempus elementum,
nibh urna ultrices neque, vitae tempor nulla risus quis enim. Suspendisse potenti. Cras convallis quis leo ac commodo. Donec eu nisi interdum, molestie urna eget, porta arcu. Quisque varius, nunc at consectetur vehicula, velit ligula tempor
dolor, vitae vulputate odio diam id odio.
</p>
<p>
Curabitur finibus odio erat, quis semper nibh tempor ut. Vestibulum congue id nibh sed rhoncus. Nulla eleifend lacus nisi. Aliquam in magna laoreet, ornare est faucibus, egestas quam. Fusce pretium mi non metus dapibus tempor a sed orci. Ut tempor nulla
dui. Aenean commodo nunc nulla, sed accumsan libero mattis eget. Nunc finibus facilisis egestas. Praesent arcu nulla, rutrum sit amet arcu sed, sodales sodales velit. Fusce et magna justo. Aliquam tortor purus, convallis eget tempus quis, venenatis
vitae turpis. Cras volutpat fringilla leo, nec blandit erat dapibus hendrerit. Curabitur tristique dolor non bibendum hendrerit.
</p>
<p>
Integer in justo ut lectus elementum tempor eget at tellus. Nunc pretium tincidunt enim, et consectetur sapien tincidunt a. Praesent sed fermentum odio. Integer pulvinar purus tortor, finibus maximus nunc efficitur vel. Suspendisse potenti. Praesent vel
arcu ut nisi laoreet ultricies. Nunc at molestie velit, a molestie elit. Quisque efficitur sed justo id imperdiet. Etiam pulvinar gravida purus ac pellentesque. Pellentesque a diam lorem.
</p>
<p>
In hac habitasse platea dictumst. Morbi porta leo quis nibh tristique malesuada. Nullam nisl urna, viverra vulputate ultricies quis, placerat eu urna. Nunc ac sollicitudin mi. Nam gravida orci id tortor finibus, nec varius enim luctus. Etiam neque ex,
condimentum a risus sit amet, convallis feugiat dui. Quisque gravida mauris sem, sed accumsan tellus volutpat vel. Fusce pellentesque porttitor interdum. In rutrum posuere risus at semper. Donec vel dui sed ipsum euismod vulputate.
</p>
<p>
Vestibulum vehicula nisi non urna blandit, non euismod tortor sagittis. Ut tincidunt iaculis bibendum. Vestibulum vel nulla nunc. Etiam lobortis orci non facilisis pellentesque. Praesent commodo mi eu egestas cursus. Integer tincidunt hendrerit magna,
vel convallis odio rhoncus facilisis. Praesent at posuere risus. Praesent massa orci, congue vel justo porttitor, blandit ullamcorper mi. Nulla eu laoreet dolor, vitae varius elit. Vivamus sagittis nisi dolor, tincidunt convallis quam eleifend
a.
</p>
<p>
Proin ligula leo, finibus eget hendrerit iaculis, lobortis sit amet urna. Aenean eget dignissim orci. Maecenas tincidunt, quam id laoreet hendrerit, lectus eros dapibus velit, sed pretium quam nisl quis urna. Ut vitae lorem sit amet augue elementum semper
vel at lorem. Vivamus vitae molestie ante. In suscipit posuere ullamcorper. Donec viverra congue mauris, at dignissim eros facilisis nec. Curabitur tristique velit id nulla malesuada, eu gravida est fringilla. Nullam feugiat scelerisque porta.
</p>
<p>
Nullam quis ullamcorper ante. Mauris non diam leo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque non semper elit. Cras sed elit elementum, vehicula velit volutpat, lobortis mi. Cras tincidunt consequat scelerisque. Sed accumsan dictum
ante, vel porttitor augue luctus quis. Donec risus justo, congue quis laoreet eu, finibus eu quam. Morbi in felis elit. Sed ac nulla gravida orci aliquam.
</p>
</div>
<div id="generated">Generated 18 paragraphs, 1471 words, 10000 bytes of Lorem Ipsum</div>
</div>
</div>
<hr>
<div class="boxed" style="overflow:visible !important;"><a style="text-decoration:none" href="mailto:help#lipsum.com">help#lipsum.com</a><br><a style="text-decoration:none" target="_blank" href="/privacy.pdf">Privacy Policy</a><a href="http://citenpl.internal.epo.org/wf/web/citenpl/citenpl.html?_url=https%3A//www.lipsum.com/privacy.pdf"
class="btncitenpl citenpl" name="MIKELink" title="Cite this document: https://www.lipsum.com/privacy.pdf">CiteNPL<span class="doc">DOCS</span></a></div>
</div>
I have a header that I need to fixed to top and change it's background while scroll down. Do I need to use jQuery? I tried to use position:fixed but it's not working properly.
Here are my code samples,
header {
padding: 20px 0;
position: fixed;
}
.logo-div {
margin: 30px 0;
}
<header>
<div class="header-panel">
<div class="col-xs-6 col-md-4 col-sm-4 logo-div">
<img id="headerLogo" src="images/logo.png" alt="logo">
</div>
<div class="col-xs-6 col-md-5 col-sm-6 menu pull-right">
<nav class="navbar navbar-default pull-right">
<div class="container-fluid">
<div class=" navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="">Sign In <i class="fa fa-user-o user-icon" aria-hidden="true"></i></li>
<li>Retrieve Quotes</li>
<li>
<i class="fa fa-bars menu-icon" aria-hidden="true"></i></li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<!-- /.container-fluid -->
</nav>
</div>
</div>
</header>
Original look.
It just looks this way now.
You can use position: fixed; on the header, and use this function:
$(document).scroll(function() {
if($(window).scrollTop() != 0) {
$("header").css('background-color', 'transparent');
}
if($(window).scrollTop() == 0) {
$("header").css('background-color', 'darkgrey');
}
});
To change the header colour if the div's not at the top.
$(document).scroll(function() {
if($(window).scrollTop() != 0) {
$("header").css('background-color', 'transparent');
}
if($(window).scrollTop() == 0) {
$("header").css('background-color', 'darkgrey');
}
});
header {
height: 50px;
background-color: darkgrey;
position: fixed;
width: 100%;
top: 0;
left: 0;
}
div {
margin-top: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>stuff stuff</header>
<div id="scrollable">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sit amet ultricies sapien, a volutpat risus. In nec tempus diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed et neque erat. Etiam pulvinar metus augue, nec facilisis
ipsum semper vitae. Maecenas tincidunt feugiat ex, sit amet eleifend orci placerat vel. Vivamus ac ullamcorper ipsum, vehicula lacinia lacus. Nam auctor, nisi sit amet vehicula fringilla, ex orci aliquam neque, in fermentum velit diam ac purus. Nunc
sed efficitur dui. Curabitur enim metus, rutrum ut mattis non, molestie a nisi. Vivamus non fermentum purus. Integer ornare enim ut commodo scelerisque. Cras tincidunt tortor feugiat libero facilisis mattis. Etiam facilisis est eu massa bibendum porttitor.
Proin tincidunt orci ut pellentesque euismod. Donec pretium velit ac dolor rhoncus, eu scelerisque nisl blandit. Pellentesque dapibus et lacus auctor tincidunt. Quisque sit amet ullamcorper dolor. Cras scelerisque congue vehicula. Nam aliquet suscipit
ex, id pulvinar augue suscipit at. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque bibendum, turpis eget suscipit scelerisque, diam mi facilisis quam, et vehicula nisi nisl faucibus dui. Aenean id malesuada velit. Sed pellentesque,
nulla at pulvinar fringilla, augue neque suscipit augue, non porta nulla erat in leo. Nunc sollicitudin dolor quis posuere lobortis. Donec at aliquam neque. Integer nec urna odio. Suspendisse maximus molestie sem pharetra elementum. Vestibulum at elit
id lorem venenatis finibus. Sed luctus nulla dignissim mauris euismod, quis blandit augue rutrum. Nulla facilisi. Nullam bibendum arcu risus, nec scelerisque nisl pharetra ut. Praesent consectetur eleifend lectus, in ornare ipsum. Cras aliquam quis
urna quis commodo. Cras fermentum lacinia risus, quis fringilla turpis vestibulum eu. Pellentesque luctus iaculis efficitur. Nam et mauris condimentum, blandit ante quis, vulputate sapien. Mauris mollis odio id dolor pharetra, nec volutpat nibh cursus.
Nam sed lacinia libero, eget hendrerit elit. Donec laoreet sapien non dolor congue, nec pellentesque libero semper. Vestibulum efficitur at ipsum vitae ultricies. Ut nec neque vestibulum, varius augue quis, feugiat libero. Sed feugiat lectus id rhoncus
laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec ac malesuada justo, pharetra maximus nunc. Nam hendrerit neque vel blandit gravida. Aenean congue facilisis elit, a eleifend quam pharetra nec.
Integer id luctus ipsum, id aliquet nunc. Integer pulvinar iaculis eros, ultrices ullamcorper tellus congue in. Suspendisse blandit ullamcorper ipsum, sed cursus nulla lobortis venenatis. Maecenas venenatis pretium diam, quis laoreet libero dictum eu.
Fusce elementum mattis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut cursus libero. Integer eget tempor dui, ut volutpat tortor. Sed sodales dolor a leo ultricies, id mollis augue convallis. Duis at egestas lectus.
Nunc ultricies magna quis justo euismod tempor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sit amet ultricies sapien, a volutpat risus. In nec tempus diam. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed et neque
erat. Etiam pulvinar metus augue, nec facilisis ipsum semper vitae. Maecenas tincidunt feugiat ex, sit amet eleifend orci placerat vel. Vivamus ac ullamcorper ipsum, vehicula lacinia lacus. Nam auctor, nisi sit amet vehicula fringilla, ex orci aliquam
neque, in fermentum velit diam ac purus. Nunc sed efficitur dui. Curabitur enim metus, rutrum ut mattis non, molestie a nisi. Vivamus non fermentum purus. Integer ornare enim ut commodo scelerisque. Cras tincidunt tortor feugiat libero facilisis mattis.
Etiam facilisis est eu massa bibendum porttitor. Proin tincidunt orci ut pellentesque euismod. Donec pretium velit ac dolor rhoncus, eu scelerisque nisl blandit. Pellentesque dapibus et lacus auctor tincidunt. Quisque sit amet ullamcorper dolor. Cras
scelerisque congue vehicula. Nam aliquet suscipit ex, id pulvinar augue suscipit at. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque bibendum, turpis eget suscipit scelerisque, diam mi facilisis quam, et vehicula nisi nisl faucibus
dui. Aenean id malesuada velit. Sed pellentesque, nulla at pulvinar fringilla, augue neque suscipit augue, non porta nulla erat in leo. Nunc sollicitudin dolor quis posuere lobortis. Donec at aliquam neque. Integer nec urna odio. Suspendisse maximus
molestie sem pharetra elementum. Vestibulum at elit id lorem venenatis finibus. Sed luctus nulla dignissim mauris euismod, quis blandit augue rutrum. Nulla facilisi. Nullam bibendum arcu risus, nec scelerisque nisl pharetra ut. Praesent consectetur
eleifend lectus, in ornare ipsum. Cras aliquam quis urna quis commodo. Cras fermentum lacinia risus, quis fringilla turpis vestibulum eu. Pellentesque luctus iaculis efficitur. Nam et mauris condimentum, blandit ante quis, vulputate sapien. Mauris mollis
odio id dolor pharetra, nec volutpat nibh cursus. Nam sed lacinia libero, eget hendrerit elit. Donec laoreet sapien non dolor congue, nec pellentesque libero semper. Vestibulum efficitur at ipsum vitae ultricies. Ut nec neque vestibulum, varius augue
quis, feugiat libero. Sed feugiat lectus id rhoncus laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec ac malesuada justo, pharetra maximus nunc. Nam hendrerit neque vel blandit gravida. Aenean
congue facilisis elit, a eleifend quam pharetra nec. Integer id luctus ipsum, id aliquet nunc. Integer pulvinar iaculis eros, ultrices ullamcorper tellus congue in. Suspendisse blandit ullamcorper ipsum, sed cursus nulla lobortis venenatis. Maecenas
venenatis pretium diam, quis laoreet libero dictum eu. Fusce elementum mattis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut cursus libero. Integer eget tempor dui, ut volutpat tortor. Sed sodales dolor a leo ultricies,
id mollis augue convallis. Duis at egestas lectus. Nunc ultricies magna quis justo euismod tempor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sit amet ultricies sapien, a volutpat risus. In nec tempus diam. Interdum et malesuada
fames ac ante ipsum primis in faucibus. Sed et neque erat. Etiam pulvinar metus augue, nec facilisis ipsum semper vitae. Maecenas tincidunt feugiat ex, sit amet eleifend orci placerat vel. Vivamus ac ullamcorper ipsum, vehicula lacinia lacus. Nam auctor,
nisi sit amet vehicula fringilla, ex orci aliquam neque, in fermentum velit diam ac purus. Nunc sed efficitur dui. Curabitur enim metus, rutrum ut mattis non, molestie a nisi. Vivamus non fermentum purus. Integer ornare enim ut commodo scelerisque.
Cras tincidunt tortor feugiat libero facilisis mattis. Etiam facilisis est eu massa bibendum porttitor. Proin tincidunt orci ut pellentesque euismod. Donec pretium velit ac dolor rhoncus, eu scelerisque nisl blandit. Pellentesque dapibus et lacus auctor
tincidunt. Quisque sit amet ullamcorper dolor. Cras scelerisque congue vehicula. Nam aliquet suscipit ex, id pulvinar augue suscipit at. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque bibendum, turpis eget suscipit scelerisque,
diam mi facilisis quam, et vehicula nisi nisl faucibus dui. Aenean id malesuada velit. Sed pellentesque, nulla at pulvinar fringilla, augue neque suscipit augue, non porta nulla erat in leo. Nunc sollicitudin dolor quis posuere lobortis. Donec at aliquam
neque. Integer nec urna odio. Suspendisse maximus molestie sem pharetra elementum. Vestibulum at elit id lorem venenatis finibus. Sed luctus nulla dignissim mauris euismod, quis blandit augue rutrum. Nulla facilisi. Nullam bibendum arcu risus, nec scelerisque
nisl pharetra ut. Praesent consectetur eleifend lectus, in ornare ipsum. Cras aliquam quis urna quis commodo. Cras fermentum lacinia risus, quis fringilla turpis vestibulum eu. Pellentesque luctus iaculis efficitur. Nam et mauris condimentum, blandit
ante quis, vulputate sapien. Mauris mollis odio id dolor pharetra, nec volutpat nibh cursus. Nam sed lacinia libero, eget hendrerit elit. Donec laoreet sapien non dolor congue, nec pellentesque libero semper. Vestibulum efficitur at ipsum vitae ultricies.
Ut nec neque vestibulum, varius augue quis, feugiat libero. Sed feugiat lectus id rhoncus laoreet. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec ac malesuada justo, pharetra maximus nunc. Nam hendrerit
neque vel blandit gravida. Aenean congue facilisis elit, a eleifend quam pharetra nec. Integer id luctus ipsum, id aliquet nunc. Integer pulvinar iaculis eros, ultrices ullamcorper tellus congue in. Suspendisse blandit ullamcorper ipsum, sed cursus
nulla lobortis venenatis. Maecenas venenatis pretium diam, quis laoreet libero dictum eu. Fusce elementum mattis vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ut cursus libero. Integer eget tempor dui, ut volutpat tortor.
Sed sodales dolor a leo ultricies, id mollis augue convallis. Duis at egestas lectus. Nunc ultricies magna quis justo euismod tempor.
</div>
Try using a flexbox to created a fixed header with a scrollable body.
Stuff like fixed and absolute should really be for stuff that you don't mind overlapping other stuff. Like small icons that scroll back up to the top, etc.
.flex {
display: flex;
flex-direction: column;
height: 100vh;
}
#header {
height: 100px;
background-color: red;
}
#body {
flex: 1;
background-color: blue;
overflow: auto;
}
<div class="flex">
<div id="header">
stuff
</div>
<div id="body">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam lobortis augue et ligula porta auctor. Donec ac metus sollicitudin, tristique arcu nec, consectetur orci. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse dictum leo quis odio sollicitudin ultrices. Praesent urna ligula, accumsan vel imperdiet in, sagittis at lorem. Integer luctus consectetur vestibulum. Etiam sollicitudin facilisis sem, pretium facilisis sem placerat ut. Donec sit amet lacinia dolor, varius mattis mi. Donec sed est pharetra, rhoncus tortor non, fringilla dolor. Praesent elit magna, semper sed commodo vitae, auctor id nisi. Phasellus vel dignissim orci. Maecenas tellus lacus, sollicitudin at felis et, facilisis euismod nibh. Donec a leo tellus.
Fusce dolor erat, malesuada at sapien a, pretium mattis sapien. Morbi ut risus ut diam cursus rhoncus. Fusce eu molestie ipsum, venenatis lobortis metus. Vivamus eget egestas lectus. Proin iaculis porta nibh, at ullamcorper augue aliquam nec. Sed faucibus nisl nec risus porttitor eleifend. Donec ultricies nulla ac metus consectetur, sit amet faucibus risus dignissim. Vestibulum vitae nisi pellentesque, vulputate nibh sed, ullamcorper mi. Nunc ultricies nisl at nulla sollicitudin ullamcorper. Vivamus egestas placerat tempus. Nam fermentum eu felis non semper. Aliquam nunc justo, viverra ac eleifend ut, pulvinar vitae risus. Vestibulum sollicitudin non ipsum in tempus.
Mauris ut massa eget mauris varius faucibus. Suspendisse tellus felis, posuere vel accumsan a, molestie venenatis libero. Sed vel nunc in libero varius dapibus consectetur a sapien. Duis sagittis pellentesque sem, eu bibendum odio consectetur aliquet. Aliquam et purus risus. Nulla a posuere libero. Sed aliquet convallis efficitur. Curabitur aliquam, turpis id tempor molestie, est quam egestas ipsum, at feugiat nunc nulla sed elit. Aliquam venenatis convallis lacus, in ornare erat dignissim vel. Morbi ac rhoncus leo, in feugiat massa. Suspendisse non velit in dolor lacinia vulputate eu a ex. Ut tristique rhoncus consequat. Quisque malesuada aliquet massa, at viverra odio sagittis eu. Duis posuere a velit quis porttitor. Phasellus eu libero ultricies, tincidunt arcu placerat, commodo quam. Donec quis orci laoreet, auctor ligula at, dictum mi.
Etiam dictum nisl orci, sit amet venenatis purus viverra ut. Donec hendrerit felis id convallis placerat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed aliquam lacus ut nisi feugiat, et ultricies augue consequat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In tincidunt metus a justo placerat porta. Donec porta id est in scelerisque. Cras semper massa neque, vitae ultrices mauris pulvinar id. Fusce eu luctus neque, ac tincidunt eros. Nullam eleifend tincidunt arcu a cursus. Curabitur dictum semper augue, euismod varius neque vestibulum vitae. Nam tortor lectus, tempus non auctor id, sollicitudin nec elit. Duis ut odio et tortor maximus varius. Sed fringilla sit amet ipsum hendrerit cursus. Duis id urna dolor.
Mauris tincidunt odio non maximus condimentum. Vivamus velit enim, interdum eget feugiat nec, tincidunt sed sem. Nullam imperdiet erat urna, ut maximus odio bibendum eu. Morbi porttitor ante eget malesuada hendrerit. Nulla pulvinar risus posuere, placerat ligula ac, pharetra neque. Vivamus id lorem id risus ullamcorper sollicitudin. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse luctus, velit vitae tristique consectetur, lorem urna rutrum mi, vitae tristique est velit posuere diam. In hac habitasse platea dictumst. Fusce dictum lobortis metus, et posuere arcu venenatis vel.
Nunc odio mi, varius at vulputate in, accumsan ac justo. Nunc vel blandit odio. Vivamus et suscipit velit, a dignissim libero. Sed vel velit ante. Mauris scelerisque, elit at tempor eleifend, orci elit placerat nisl, ut suscipit augue turpis et ipsum. Pellentesque efficitur sapien mauris, non venenatis justo commodo eget. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Integer sed nibh nec sem interdum tristique quis sit amet massa. Suspendisse vel mauris magna. Integer id sapien ac libero lacinia ullamcorper nec eget enim. Nullam eget nunc non lectus congue condimentum. Etiam fermentum consectetur felis, et pulvinar nibh iaculis id. Ut felis lacus, consequat id mattis eu, volutpat quis urna. Sed nisi neque, malesuada quis nibh sit amet, aliquam vehicula tellus. Cras pharetra nisi nec metus pretium ullamcorper in quis leo. Etiam mi diam, venenatis non lorem a, suscipit tempor est.
Sed sit amet finibus ligula. Cras sit amet magna et nisi elementum tristique eget quis metus. Aenean efficitur ac sem vulputate efficitur. Nullam felis nibh, dictum ac iaculis non, molestie eu urna. Donec arcu turpis, tempor sed risus at, pharetra varius elit. Praesent cursus justo metus, at tristique ligula suscipit at. Aenean vel pellentesque eros. Aenean sit amet nisl vehicula, posuere felis in, egestas lectus. Praesent sollicitudin dictum diam sed lacinia. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Morbi dapibus scelerisque lorem, eget vehicula tellus condimentum eget. Phasellus scelerisque leo nec risus imperdiet molestie. Suspendisse nec lacus at magna tristique pellentesque nec vel libero.
Proin in finibus erat. Ut sodales urna non purus gravida luctus. Quisque imperdiet eros scelerisque felis auctor ultrices. Phasellus lacinia enim et ligula sollicitudin vestibulum. Quisque semper libero quis mauris feugiat volutpat. Mauris ac eleifend diam, ac semper risus. Duis eget luctus neque, at molestie nisl. Nulla volutpat maximus vulputate. Nunc pretium velit in neque vestibulum, blandit lacinia augue efficitur. Maecenas sem sem, condimentum sed dolor vulputate, gravida lobortis dolor. Aenean efficitur nibh vitae lacus gravida ornare. Mauris sagittis ex lacus, ut congue augue interdum in. Morbi nec congue odio. Quisque eleifend mi at convallis interdum. Nunc at congue dolor, quis blandit nunc. Maecenas molestie sollicitudin sem in scelerisque.
Donec sed pellentesque urna, eu fringilla tellus. Nullam at fermentum eros. Nam viverra est at est mattis, lobortis volutpat massa accumsan. Nunc vel faucibus risus. Vivamus a urna hendrerit, ullamcorper tellus aliquet, sagittis felis. Sed eget nisl tempus, congue nisi nec, accumsan purus. Donec molestie metus eget lorem imperdiet facilisis. Donec vulputate ut sem rutrum tincidunt. Nulla at lectus at dui imperdiet tincidunt non blandit enim. Vivamus accumsan risus eget porttitor aliquet. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla maximus blandit mauris, vel consectetur leo auctor et. Mauris non diam a neque tincidunt euismod. Donec non augue porttitor, imperdiet metus eget, laoreet ex. Nulla ut accumsan magna, id venenatis est. Nunc tempus dolor non velit vestibulum, sit amet finibus risus pulvinar. Sed egestas dapibus turpis, eu scelerisque quam sollicitudin id. Vivamus libero magna, congue quis volutpat eget, vestibulum nec ex. Curabitur auctor eros in ultrices scelerisque. Vestibulum lacinia hendrerit euismod. Nam ut ultricies eros. Mauris sed tortor mi. Mauris dolor metus, euismod sit amet quam sed, efficitur dapibus risus. Quisque aliquet molestie nisl id semper. Sed venenatis augue vitae cursus volutpat. In id nulla vel quam vehicula ornare.
</div>
</div>
I am trying to place an image in front of text, which is inside a div. Almost ever search for this brings results on how to put text in front of an image. This is not what I want to do.
In the following example I have a gif and tried using z-index: -1; in the CSS but this is not working.
The HTML
div {
position: relative;
}
img {
position: absolute;
z-index: 1;
vertically-align: middle;
left: 50%;
}
<div>
<img width="100" height="100" src="http://bestanimations.com/Animals/Reptiles/Dinosaurs/dinosaur-animated-gif-6.gif" />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lobortis aliquam eros, sed vehicula eros rhoncus eu. Cras bibendum rhoncus nisl, non venenatis enim interdum vel. Mauris sodales risus ac ex suscipit ultricies. Duis neque purus, auctor
non magna vel, euismod posuere metus. Fusce sit amet tortor quis felis consectetur iaculis. Phasellus risus nibh, finibus lacinia porta a, sagittis quis orci. Integer feugiat sit amet diam sit amet accumsan. In at finibus eros, vitae dictum eros. Donec
dignissim tellus id dui auctor convallis. Donec in faucibus eros, at ultrices felis. Vivamus eros augue, suscipit a dignissim et, efficitur nec nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean iaculis consequat neque, et placerat
tellus mollis ac. Curabitur ut pulvinar neque, eu aliquam purus. Vestibulum imperdiet, orci eget molestie ultricies, est dui faucibus dui, et venenatis neque sem non lorem. In in massa condimentum, vulputate lacus vitae, posuere lorem. Nullam faucibus
augue a dolor vestibulum, id efficitur augue aliquam. Fusce in ipsum aliquet, scelerisque augue ac, pretium urna. Nunc rutrum lacus vitae magna congue, vel finibus ligula sodales. Aenean vitae egestas lectus. Quisque ut pretium nunc. Curabitur id lectus
est. Duis nulla elit, vestibulum vitae pulvinar sit amet, tristique ut leo. Curabitur finibus ipsum sit amet ante venenatis efficitur. Fusce molestie nibh nec nisi pretium finibus. Ut ullamcorper sapien sapien, ut dictum libero elementum et. Cras sapien
augue, placerat vitae venenatis in, tempor sed enim. Nullam interdum, ante a pretium condimentum, ante lacus sollicitudin odio, at luctus lectus elit in mauris. Aenean a hendrerit neque, et porta ipsum. Maecenas tincidunt, eros eu auctor posuere, odio
felis tincidunt leo, id pellentesque neque neque nec diam. Sed ac ante ac neque porta suscipit. Sed nec lacus ligula. Nunc maximus fermentum risus eget vehicula. Sed ac varius tortor. Fusce blandit mollis commodo. Quisque orci magna, consequat et orci
at, consequat interdum arcu. Vestibulum vel iaculis magna, ut gravida enim. Nullam sollicitudin pharetra auctor. Mauris vulputate justo lorem, non aliquet elit cursus sed. Duis ultricies euismod diam, in rhoncus nisi auctor sit amet. Morbi dignissim
fermentum sem, vel volutpat quam accumsan ut. Suspendisse potenti. Aliquam quis lectus metus.
<div>
<div>
I am a second div
</div>
Thanks,
You could just do this:
img {
position: absolute;
z-index: 1;
}
And, if you make the parent div relative:
div {
position: relative;
}
You can move your image anywhere inside that text div:
img {
position: absolute;
z-index: 1;
left: 30px;
top: 20px;
}
To trigger z-index you need to reset position to any valid value but static:
absolute:
img,
span {
vertical-align: middle;
}
img {
position:absolute;
z-index: -1;
}
<div>
<img width="100" height="100" src="http://bestanimations.com/Animals/Reptiles/Dinosaurs/dinosaur-animated-gif-6.gif" />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lobortis aliquam eros, sed vehicula eros rhoncus eu. Cras bibendum rhoncus nisl, non venenatis enim interdum vel. Mauris sodales risus ac ex suscipit ultricies. Duis neque purus, auctor
non magna vel, euismod posuere metus. Fusce sit amet tortor quis felis consectetur iaculis. Phasellus risus nibh, finibus lacinia porta a, sagittis quis orci. Integer feugiat sit amet diam sit amet accumsan. In at finibus eros, vitae dictum eros. Donec
dignissim tellus id dui auctor convallis. Donec in faucibus eros, at ultrices felis. Vivamus eros augue, suscipit a dignissim et, efficitur nec nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean iaculis consequat neque, et placerat
tellus mollis ac. Curabitur ut pulvinar neque, eu aliquam purus. Vestibulum imperdiet, orci eget molestie ultricies, est dui faucibus dui, et venenatis neque sem non lorem. In in massa condimentum, vulputate lacus vitae, posuere lorem. Nullam faucibus
augue a dolor vestibulum, id efficitur augue aliquam. Fusce in ipsum aliquet, scelerisque augue ac, pretium urna. Nunc rutrum lacus vitae magna congue, vel finibus ligula sodales. Aenean vitae egestas lectus. Quisque ut pretium nunc. Curabitur id lectus
est. Duis nulla elit, vestibulum vitae pulvinar sit amet, tristique ut leo. Curabitur finibus ipsum sit amet ante venenatis efficitur. Fusce molestie nibh nec nisi pretium finibus. Ut ullamcorper sapien sapien, ut dictum libero elementum et. Cras sapien
augue, placerat vitae venenatis in, tempor sed enim. Nullam interdum, ante a pretium condimentum, ante lacus sollicitudin odio, at luctus lectus elit in mauris. Aenean a hendrerit neque, et porta ipsum. Maecenas tincidunt, eros eu auctor posuere, odio
felis tincidunt leo, id pellentesque neque neque nec diam. Sed ac ante ac neque porta suscipit. Sed nec lacus ligula. Nunc maximus fermentum risus eget vehicula. Sed ac varius tortor. Fusce blandit mollis commodo. Quisque orci magna, consequat et orci
at, consequat interdum arcu. Vestibulum vel iaculis magna, ut gravida enim. Nullam sollicitudin pharetra auctor. Mauris vulputate justo lorem, non aliquet elit cursus sed. Duis ultricies euismod diam, in rhoncus nisi auctor sit amet. Morbi dignissim
fermentum sem, vel volutpat quam accumsan ut. Suspendisse potenti. Aliquam quis lectus metus.
<div>
relative :
img,
span {
vertical-align: middle;
}
img {
position:relative;
margin-right:-100px;/* can be usefull*/
z-index: -1;
}
<div>
<img width="100" height="100" src="http://bestanimations.com/Animals/Reptiles/Dinosaurs/dinosaur-animated-gif-6.gif" />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lobortis aliquam eros, sed vehicula eros rhoncus eu. Cras bibendum rhoncus nisl, non venenatis enim interdum vel. Mauris sodales risus ac ex suscipit ultricies. Duis neque purus, auctor
non magna vel, euismod posuere metus. Fusce sit amet tortor quis felis consectetur iaculis. Phasellus risus nibh, finibus lacinia porta a, sagittis quis orci. Integer feugiat sit amet diam sit amet accumsan. In at finibus eros, vitae dictum eros. Donec
dignissim tellus id dui auctor convallis. Donec in faucibus eros, at ultrices felis. Vivamus eros augue, suscipit a dignissim et, efficitur nec nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean iaculis consequat neque, et placerat
tellus mollis ac. Curabitur ut pulvinar neque, eu aliquam purus. Vestibulum imperdiet, orci eget molestie ultricies, est dui faucibus dui, et venenatis neque sem non lorem. In in massa condimentum, vulputate lacus vitae, posuere lorem. Nullam faucibus
augue a dolor vestibulum, id efficitur augue aliquam. Fusce in ipsum aliquet, scelerisque augue ac, pretium urna. Nunc rutrum lacus vitae magna congue, vel finibus ligula sodales. Aenean vitae egestas lectus. Quisque ut pretium nunc. Curabitur id lectus
est. Duis nulla elit, vestibulum vitae pulvinar sit amet, tristique ut leo. Curabitur finibus ipsum sit amet ante venenatis efficitur. Fusce molestie nibh nec nisi pretium finibus. Ut ullamcorper sapien sapien, ut dictum libero elementum et. Cras sapien
augue, placerat vitae venenatis in, tempor sed enim. Nullam interdum, ante a pretium condimentum, ante lacus sollicitudin odio, at luctus lectus elit in mauris. Aenean a hendrerit neque, et porta ipsum. Maecenas tincidunt, eros eu auctor posuere, odio
felis tincidunt leo, id pellentesque neque neque nec diam. Sed ac ante ac neque porta suscipit. Sed nec lacus ligula. Nunc maximus fermentum risus eget vehicula. Sed ac varius tortor. Fusce blandit mollis commodo. Quisque orci magna, consequat et orci
at, consequat interdum arcu. Vestibulum vel iaculis magna, ut gravida enim. Nullam sollicitudin pharetra auctor. Mauris vulputate justo lorem, non aliquet elit cursus sed. Duis ultricies euismod diam, in rhoncus nisi auctor sit amet. Morbi dignissim
fermentum sem, vel volutpat quam accumsan ut. Suspendisse potenti. Aliquam quis lectus metus.
<div>
fixed (not the best):
img,
span {
vertical-align: middle;
}
img {
position:fixed;
z-index: -1;
}
<div>
<img width="100" height="100" src="http://bestanimations.com/Animals/Reptiles/Dinosaurs/dinosaur-animated-gif-6.gif" />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer lobortis aliquam eros, sed vehicula eros rhoncus eu. Cras bibendum rhoncus nisl, non venenatis enim interdum vel. Mauris sodales risus ac ex suscipit ultricies. Duis neque purus, auctor
non magna vel, euismod posuere metus. Fusce sit amet tortor quis felis consectetur iaculis. Phasellus risus nibh, finibus lacinia porta a, sagittis quis orci. Integer feugiat sit amet diam sit amet accumsan. In at finibus eros, vitae dictum eros. Donec
dignissim tellus id dui auctor convallis. Donec in faucibus eros, at ultrices felis. Vivamus eros augue, suscipit a dignissim et, efficitur nec nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean iaculis consequat neque, et placerat
tellus mollis ac. Curabitur ut pulvinar neque, eu aliquam purus. Vestibulum imperdiet, orci eget molestie ultricies, est dui faucibus dui, et venenatis neque sem non lorem. In in massa condimentum, vulputate lacus vitae, posuere lorem. Nullam faucibus
augue a dolor vestibulum, id efficitur augue aliquam. Fusce in ipsum aliquet, scelerisque augue ac, pretium urna. Nunc rutrum lacus vitae magna congue, vel finibus ligula sodales. Aenean vitae egestas lectus. Quisque ut pretium nunc. Curabitur id lectus
est. Duis nulla elit, vestibulum vitae pulvinar sit amet, tristique ut leo. Curabitur finibus ipsum sit amet ante venenatis efficitur. Fusce molestie nibh nec nisi pretium finibus. Ut ullamcorper sapien sapien, ut dictum libero elementum et. Cras sapien
augue, placerat vitae venenatis in, tempor sed enim. Nullam interdum, ante a pretium condimentum, ante lacus sollicitudin odio, at luctus lectus elit in mauris. Aenean a hendrerit neque, et porta ipsum. Maecenas tincidunt, eros eu auctor posuere, odio
felis tincidunt leo, id pellentesque neque neque nec diam. Sed ac ante ac neque porta suscipit. Sed nec lacus ligula. Nunc maximus fermentum risus eget vehicula. Sed ac varius tortor. Fusce blandit mollis commodo. Quisque orci magna, consequat et orci
at, consequat interdum arcu. Vestibulum vel iaculis magna, ut gravida enim. Nullam sollicitudin pharetra auctor. Mauris vulputate justo lorem, non aliquet elit cursus sed. Duis ultricies euismod diam, in rhoncus nisi auctor sit amet. Morbi dignissim
fermentum sem, vel volutpat quam accumsan ut. Suspendisse potenti. Aliquam quis lectus metus.
<div>
Try to use this:
img {
z-index: 1;
position: absolute;
}
And if you want the text in front of the image, just change the z-index to -1
If you want to locate the image in a different place, add this:
img {
z-index: 1;
position: absolute;
left: 50px;
top: 50px;
}
and change it as you wish.
I'm new to web development and in this example I'm working on: http://codepen.io/wabibito/pen/RawGPo
<head>
<title>Tiago Dias Ferreira</title>
<style>
ul {
list-style-type: none;
margin: auto auto;
overflow: hidden;
background-color: #333;
position: static;
}
li {
float: left;
}
li a {
display: inline-block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
li a:hover {
background-color: #111;
}
</style>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top topnav">
<ul>
<li>Home</li>
<li>About</li>
<li>Portfolio</li>
<li>Contact</li>
</ul>
</nav>
<a name="home"></a>
<h1 class="text-primary text-center">Tiago Dias Ferreira</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rhoncus aliquam velit eget luctus. Proin suscipit lorem ex, ut porta nulla dignissim eu. Praesent at tristique risus, sit amet lacinia urna. Quisque vitae congue mauris, et facilisis nulla. Sed quam dolor, blandit ac velit in, luctus vehicula felis. Donec fringilla urna dolor, ac semper quam congue non. Praesent vel nunc eleifend, mattis ipsum eget, vestibulum eros. Nunc et semper massa.
</p>
<p>
In tortor dui, cursus a velit ac, convallis hendrerit ligula. Nunc ultricies efficitur nisl. Suspendisse condimentum porttitor maximus. Morbi purus nunc, posuere id gravida ac, suscipit at urna. Phasellus non diam vitae mauris aliquet porttitor tincidunt id nibh. Nullam imperdiet nisl eu est imperdiet, porttitor vehicula metus iaculis. Donec rutrum eget tortor a consequat. Maecenas ac arcu erat. Fusce rhoncus nisl eget elementum pharetra. Proin a enim ac mauris mattis ultricies quis a dolor.
</p>
<p>
Nullam ornare non nibh sed cursus. Phasellus volutpat nisi eu nunc dignissim semper. Vivamus nec neque mi. Suspendisse potenti. Aliquam vehicula augue tristique bibendum faucibus. Nam in imperdiet orci, in molestie ante. Pellentesque maximus ex a risus gravida, eget rhoncus neque venenatis.
</p>
<p>
In nec imperdiet diam, at malesuada justo. Donec venenatis in nulla sed consequat. Nunc hendrerit, turpis ut viverra dapibus, tortor lorem consequat sem, ut dapibus massa nisl sit amet arcu. Proin tempor tincidunt ipsum et molestie. Pellentesque vulputate velit sit amet tellus iaculis, eget viverra nibh malesuada. Proin tristique nunc vitae magna cursus, at blandit dolor faucibus. Aenean dignissim sit amet arcu eget vestibulum.
</p>
<p>
Vivamus nec diam non urna pellentesque varius at non tellus. Pellentesque interdum faucibus maximus. Phasellus diam sapien, tincidunt quis cursus at, accumsan eget diam. Integer ullamcorper nulla nec justo consectetur, porta faucibus mauris gravida. Maecenas sagittis sodales velit, et tempor libero efficitur et. Suspendisse pulvinar at nisi quis interdum. In in vestibulum turpis, eget suscipit massa. Nullam faucibus sodales ornare. Mauris at ultricies ex, sit amet convallis lorem.
</p>
<a name="about"></a>
<h1 class="text-primary text-center">Tiago Dias Ferreira</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rhoncus aliquam velit eget luctus. Proin suscipit lorem ex, ut porta nulla dignissim eu. Praesent at tristique risus, sit amet lacinia urna. Quisque vitae congue mauris, et facilisis nulla. Sed quam dolor, blandit ac velit in, luctus vehicula felis. Donec fringilla urna dolor, ac semper quam congue non. Praesent vel nunc eleifend, mattis ipsum eget, vestibulum eros. Nunc et semper massa.
</p>
<p>
In tortor dui, cursus a velit ac, convallis hendrerit ligula. Nunc ultricies efficitur nisl. Suspendisse condimentum porttitor maximus. Morbi purus nunc, posuere id gravida ac, suscipit at urna. Phasellus non diam vitae mauris aliquet porttitor tincidunt id nibh. Nullam imperdiet nisl eu est imperdiet, porttitor vehicula metus iaculis. Donec rutrum eget tortor a consequat. Maecenas ac arcu erat. Fusce rhoncus nisl eget elementum pharetra. Proin a enim ac mauris mattis ultricies quis a dolor.
</p>
<p>
Nullam ornare non nibh sed cursus. Phasellus volutpat nisi eu nunc dignissim semper. Vivamus nec neque mi. Suspendisse potenti. Aliquam vehicula augue tristique bibendum faucibus. Nam in imperdiet orci, in molestie ante. Pellentesque maximus ex a risus gravida, eget rhoncus neque venenatis.
</p>
<p>
In nec imperdiet diam, at malesuada justo. Donec venenatis in nulla sed consequat. Nunc hendrerit, turpis ut viverra dapibus, tortor lorem consequat sem, ut dapibus massa nisl sit amet arcu. Proin tempor tincidunt ipsum et molestie. Pellentesque vulputate velit sit amet tellus iaculis, eget viverra nibh malesuada. Proin tristique nunc vitae magna cursus, at blandit dolor faucibus. Aenean dignissim sit amet arcu eget vestibulum.
</p>
<p>
Vivamus nec diam non urna pellentesque varius at non tellus. Pellentesque interdum faucibus maximus. Phasellus diam sapien, tincidunt quis cursus at, accumsan eget diam. Integer ullamcorper nulla nec justo consectetur, porta faucibus mauris gravida. Maecenas sagittis sodales velit, et tempor libero efficitur et. Suspendisse pulvinar at nisi quis interdum. In in vestibulum turpis, eget suscipit massa. Nullam faucibus sodales ornare. Mauris at ultricies ex, sit amet convallis lorem.
</p>
<a name="portfolio"></a>
<h1 class="text-primary text-center">Tiago Dias Ferreira</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rhoncus aliquam velit eget luctus. Proin suscipit lorem ex, ut porta nulla dignissim eu. Praesent at tristique risus, sit amet lacinia urna. Quisque vitae congue mauris, et facilisis nulla. Sed quam dolor, blandit ac velit in, luctus vehicula felis. Donec fringilla urna dolor, ac semper quam congue non. Praesent vel nunc eleifend, mattis ipsum eget, vestibulum eros. Nunc et semper massa.
</p>
<p>
In tortor dui, cursus a velit ac, convallis hendrerit ligula. Nunc ultricies efficitur nisl. Suspendisse condimentum porttitor maximus. Morbi purus nunc, posuere id gravida ac, suscipit at urna. Phasellus non diam vitae mauris aliquet porttitor tincidunt id nibh. Nullam imperdiet nisl eu est imperdiet, porttitor vehicula metus iaculis. Donec rutrum eget tortor a consequat. Maecenas ac arcu erat. Fusce rhoncus nisl eget elementum pharetra. Proin a enim ac mauris mattis ultricies quis a dolor.
</p>
<p>
Nullam ornare non nibh sed cursus. Phasellus volutpat nisi eu nunc dignissim semper. Vivamus nec neque mi. Suspendisse potenti. Aliquam vehicula augue tristique bibendum faucibus. Nam in imperdiet orci, in molestie ante. Pellentesque maximus ex a risus gravida, eget rhoncus neque venenatis.
</p>
<p>
In nec imperdiet diam, at malesuada justo. Donec venenatis in nulla sed consequat. Nunc hendrerit, turpis ut viverra dapibus, tortor lorem consequat sem, ut dapibus massa nisl sit amet arcu. Proin tempor tincidunt ipsum et molestie. Pellentesque vulputate velit sit amet tellus iaculis, eget viverra nibh malesuada. Proin tristique nunc vitae magna cursus, at blandit dolor faucibus. Aenean dignissim sit amet arcu eget vestibulum.
</p>
<p>
Vivamus nec diam non urna pellentesque varius at non tellus. Pellentesque interdum faucibus maximus. Phasellus diam sapien, tincidunt quis cursus at, accumsan eget diam. Integer ullamcorper nulla nec justo consectetur, porta faucibus mauris gravida. Maecenas sagittis sodales velit, et tempor libero efficitur et. Suspendisse pulvinar at nisi quis interdum. In in vestibulum turpis, eget suscipit massa. Nullam faucibus sodales ornare. Mauris at ultricies ex, sit amet convallis lorem.
</p>
<a name="contact"></a>
<h1 class="text-primary text-center">Tiago Dias Ferreira</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum rhoncus aliquam velit eget luctus. Proin suscipit lorem ex, ut porta nulla dignissim eu. Praesent at tristique risus, sit amet lacinia urna. Quisque vitae congue mauris, et facilisis nulla. Sed quam dolor, blandit ac velit in, luctus vehicula felis. Donec fringilla urna dolor, ac semper quam congue non. Praesent vel nunc eleifend, mattis ipsum eget, vestibulum eros. Nunc et semper massa.
</p>
<p>
In tortor dui, cursus a velit ac, convallis hendrerit ligula. Nunc ultricies efficitur nisl. Suspendisse condimentum porttitor maximus. Morbi purus nunc, posuere id gravida ac, suscipit at urna. Phasellus non diam vitae mauris aliquet porttitor tincidunt id nibh. Nullam imperdiet nisl eu est imperdiet, porttitor vehicula metus iaculis. Donec rutrum eget tortor a consequat. Maecenas ac arcu erat. Fusce rhoncus nisl eget elementum pharetra. Proin a enim ac mauris mattis ultricies quis a dolor.
</p>
<p>
Nullam ornare non nibh sed cursus. Phasellus volutpat nisi eu nunc dignissim semper. Vivamus nec neque mi. Suspendisse potenti. Aliquam vehicula augue tristique bibendum faucibus. Nam in imperdiet orci, in molestie ante. Pellentesque maximus ex a risus gravida, eget rhoncus neque venenatis.
</p>
<p>
In nec imperdiet diam, at malesuada justo. Donec venenatis in nulla sed consequat. Nunc hendrerit, turpis ut viverra dapibus, tortor lorem consequat sem, ut dapibus massa nisl sit amet arcu. Proin tempor tincidunt ipsum et molestie. Pellentesque vulputate velit sit amet tellus iaculis, eget viverra nibh malesuada. Proin tristique nunc vitae magna cursus, at blandit dolor faucibus. Aenean dignissim sit amet arcu eget vestibulum.
</p>
<p>
Vivamus nec diam non urna pellentesque varius at non tellus. Pellentesque interdum faucibus maximus. Phasellus diam sapien, tincidunt quis cursus at, accumsan eget diam. Integer ullamcorper nulla nec justo consectetur, porta faucibus mauris gravida. Maecenas sagittis sodales velit, et tempor libero efficitur et. Suspendisse pulvinar at nisi quis interdum. In in vestibulum turpis, eget suscipit massa. Nullam faucibus sodales ornare. Mauris at ultricies ex, sit amet convallis lorem.
</p>
</body>
The navigation bar keeps hiding content under it. Initially i fixed it by putting a margin to the first title. But when I click on links on the same page, they get hidden under the navigation bar.
How can I fix it?
I also accept others suggestions, tips and hints to improve. :D
Cheers,
Tiago
The fixed nav bar is the problem. When you set something as fixed, it removes it from the DOM and subsequently all other content will be rendered as if it's not there. Meaning it will display content at the top of the page and then put hte navbar on top. You need to add padding to the body to bring it down. For example, if the nav bar height is 50px, add body {padding-top:50px} to your css.
Also - just looking at your code, if you are using the nav to target sections on the page via the href, you will need to add that as an id to the a link in the page - currently you have only listed a name for each link in the body. And they should be semantically listed as "section" as well (enclosing the heading and <p> elements of that section)- currently you have numerous h1 elements, but you should only have one per page with other headings being h2, h3 etc (it is fine to have a h1 for each section if using the section nomenclature because it infers that each section is semantically different from the others and therefore can have a new h1). hope this helps gavgrif
I wasn't quite sure what to call this question so hopefully that title is correct.
I'm going to be working on this website for a new client and they said that they wanted something similar to what this website is doing (http://www.buzzardfilm.com).
You'll see right on the index page if you scroll down it has this kind of 'smooth animation' and the new block starts to slide up into the background image?
This is what I'm talking about:
http://gyazo.com/8cafbab233930bd478723b48c5912263
My question is, how is this usually achieved? Is this just an image with some text on top or is this maybe a background image? What kind of rules would I need in place to get this?
You can do it with css see this example
body{
margin:0;
padding:0;
}
.one{
background-image:url('https://placekitten.com/g/1200/800');
height:500px;
background-size:cover;
background-position:static;
position: static;
background-position: inherit;
background-attachment: fixed;
}
.two{
height:500px;
}
<div class="one"></div>
<div class="two">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc vehicula sem mi, at faucibus ex consequat eu. Suspendisse bibendum nulla id nisl pulvinar, a lacinia nisi imperdiet. Nam eget mi congue, lacinia augue dictum, ullamcorper ex. Donec condimentum dolor nisl, eu tincidunt lacus congue et. Duis eu libero id nunc facilisis viverra a id velit. Suspendisse potenti. Fusce in nisi eu est consectetur fringilla vitae non nunc. Cras neque elit, pharetra at ipsum at, semper laoreet eros. Nunc eu dolor blandit, varius felis vel, congue turpis. Vestibulum ullamcorper leo odio, in mattis ante pretium nec. Ut sagittis luctus lacinia. Donec vehicula ullamcorper lectus, eget pretium nisi laoreet id. Cras id laoreet nunc, ac molestie lectus. Phasellus suscipit, risus eget fringilla posuere, urna eros venenatis ante, vel finibus lorem arcu a massa. Etiam at ante massa.
</p>
<p>
Ut tempor fermentum dui sed placerat. In commodo velit at augue luctus bibendum. Aliquam ullamcorper tincidunt posuere. Sed congue sagittis est ac viverra. Cras eget lobortis leo. Donec rutrum elit purus, et sollicitudin lacus pulvinar eu. Maecenas sit amet metus nisi. Proin porta diam et rhoncus mollis. Quisque arcu leo, sagittis a iaculis gravida, pulvinar ac risus. Etiam lacinia urna nunc, eu tincidunt massa finibus id. Aliquam posuere, est at mollis rhoncus, libero neque varius dui, vel facilisis odio dolor non ante. Nullam tempor ligula non pellentesque aliquet. Donec rutrum est ac nisi tempus dapibus. Sed vel est eget nisi bibendum dapibus. In consectetur leo volutpat, pharetra dui in, consequat magna.
</p>
<p>
Ut luctus vel dolor vel laoreet. Nullam sit amet eleifend dui. Suspendisse potenti. Fusce eleifend, erat sit amet rutrum convallis, diam purus accumsan neque, vel dignissim ante erat ut neque. Cras sed nunc vitae libero fermentum porta. Pellentesque sodales odio et mi pharetra, non hendrerit eros auctor. Morbi quis erat et enim tempus tempus eget mattis nibh.
<p>
Morbi sed risus egestas, facilisis lectus sit amet, ullamcorper lectus. Duis pellentesque dictum lobortis. Morbi ullamcorper et ipsum id vehicula. In consequat mi eu faucibus hendrerit. Cras finibus dapibus elit, vel venenatis mauris convallis eleifend. Aliquam pellentesque ante in sapien bibendum suscipit. Praesent et felis eu tellus mollis ullamcorper non vitae quam.
</p>
<p>
Quisque dui felis, placerat quis blandit in, rutrum vel neque. Maecenas molestie semper rhoncus. Sed vel aliquam odio. Aenean vulputate nisi id vehicula ultrices. Nam tellus sem, faucibus sed libero ut, vehicula auctor eros. Nulla aliquam mauris sit amet lacinia vehicula. Quisque ac sem sed ante accumsan auctor. Suspendisse vitae dolor felis. Nullam in libero vel velit mollis molestie venenatis et libero. Cras vulputate, ante et tempus interdum, dui augue dapibus felis, sit amet porta tortor libero ut purus. Cras augue dolor, efficitur commodo tristique ut, gravida id augue. Praesent interdum nisl eu ultrices euismod. Aenean vulputate accumsan sem, eget eleifend elit eleifend auctor. Mauris egestas rhoncus quam, egestas accumsan neque ullamcorper a.
</p>
<p>
Praesent pharetra risus felis, non mollis lectus lobortis non. Praesent porttitor ultrices auctor. Suspendisse maximus est a sem mollis, ut vestibulum lacus scelerisque. Phasellus pretium non tortor quis malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin metus sapien, molestie at sollicitudin vitae, pulvinar at quam. Aliquam ultricies nisl ligula, sit amet finibus metus finibus sed. Etiam porta ultricies arcu tempus dignissim. Cras lobortis, ante non tristique vulputate, augue dui convallis tellus, eu feugiat justo nisi eget elit. Integer iaculis egestas lectus, vitae venenatis est imperdiet in.
<p>
Praesent mollis tempus imperdiet. Nunc iaculis enim lacus, sit amet eleifend velit porta vel. Etiam condimentum gravida dui vulputate dignissim. Nam ut dui vitae massa scelerisque pellentesque. Mauris vitae venenatis enim. Sed sagittis mi eget lacus congue, a bibendum nibh elementum. Aenean posuere pharetra purus, sit amet aliquet dui tempor nec. Fusce ut orci pulvinar, sollicitudin sapien eu, cursus augue.
</p>
<p>
Sed lacinia rutrum sem et convallis. Integer vel pretium mauris, eget porttitor nibh. Duis sed tellus massa. Fusce massa felis, laoreet vitae velit id, efficitur ornare nunc. Nam nec lectus non risus luctus vehicula et nec erat. Pellentesque tempor tincidunt odio pretium sagittis. Nullam id vestibulum nisl. Sed a odio leo. Proin in mi nisl. Aliquam ut bibendum arcu. Aliquam porta molestie nisl quis fringilla. In iaculis, ex in consectetur commodo, ante nulla rutrum orci, ac varius nibh nisi at ante.
</p>
<p>
Nullam ultricies sit amet massa nec placerat. Sed id sapien mi. Fusce maximus et libero quis fermentum. Nulla mattis ornare orci quis tempus. Integer id enim in ligula tincidunt lacinia. Nullam elit nulla, facilisis ultricies purus vitae, interdum malesuada massa. Nam tincidunt lacus erat. Fusce sagittis porttitor libero. Proin mi nibh, posuere sit amet dolor non, porttitor vulputate sapien. Sed faucibus a mi in molestie. Curabitur a bibendum neque.
</p>
<p>
Donec pretium mollis dui. Morbi quis tincidunt enim. Nunc venenatis leo a nunc lacinia, ac sodales odio lacinia. Fusce eget cursus massa. Curabitur ac luctus nulla, eu dignissim augue. Ut scelerisque ligula ut nulla tempus consectetur. Mauris eget odio velit. Donec faucibus imperdiet volutpat. Praesent ante odio, congue a quam ut, facilisis fringilla velit. Donec eget est risus. Integer lobortis neque sit amet massa vulputate, ac ultricies velit dignissim. Vivamus lectus turpis, varius at augue in, facilisis finibus justo. Pellentesque laoreet libero sed sapien maximus, sed feugiat leo gravida. Pellentesque at velit a purus condimentum hendrerit faucibus non leo.
</p>
</div>
To keep a background image in place you will want to use the 'background-attachment' property like so:
selector {
background-image: url(image.extension);
background-attachment: fixed;
}
You can place any content on top of the background image and as you scroll, the background will remain fixed in place while the content moves.