Left side navigation bar centered and close to page content - html

I got a side navigation bar that is located on the left side of the page. I would like the position of this to be just left of the content. Example of what I want is in the pictures below:
Current state:
What I would like is the menu to be like this:
How can I do this? Code is here: https://codepen.io/johsflesj/pen/QWQERRj
<nav>
<div class="container">
<ul>
<li class="home active">Home</li>
<li class="about">About</li>
<li class="contact">Contact</li>
<li class="footer">Footer</li>
<li class="yoyo">Yoyo</li>
</ul>
</div>
</nav>
<div class="kropp">
<section id="home">
<h1>Home</h1>
<p>Dette er testskrift som er veldig lang som jeg tester om hvor langt ut til siden den går for det er veldig greit å se hvor langt ut til siden innholdet her faktisk kommer</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
</section>
<section id="about">
<h1>About</h1>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
</section>
<section id="contact">
<h1>Contact</h1>
</section>
<section id="footer">
<h1>Footer</h1>
</section>
<section id="yoyo">
<h1>Yoyo</h1>
</section>
</div>

You can add margin-left:30% to the "container" div, so that it will move closer to "kropp" div, and you have to add media queries if you need this page to be responsive.

Without any margin settings
<div class="box">
<div class="nav_out">
<nav>
<div class="container">
<ul>
<li class="home active">Home</li>
<li class="about">About</li>
<li class="contact">Contact</li>
<li class="footer">Footer</li>
<li class="yoyo">Yoyo</li>
</ul>
</div>
</nav>
</div>
<div class="kropp">
<section id="home">
<h1>Home</h1>
<p>Dette er testskrift som er veldig lang som jeg tester om hvor langt ut til siden den går for det er veldig greit å se hvor langt ut til siden innholdet her faktisk kommer</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
</section>
<section id="about">
<h1>About</h1>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
<p>Dette er testskrift som er veldig lang</p>
</section>
<section id="contact">
<h1>Contact</h1>
</section>
<section id="footer">
<h1>Footer</h1>
</section>
<section id="yoyo">
<h1>Yoyo</h1>
</section>
</div>
</div>
<style>
#import url("https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap");
html {
font-family: "Roboto Mono";
font-size: 16px;
scroll-behavior: smooth;
}
.kropp {
max-width: 0px;
margin: auto;
padding-left: 40px;
height: 100vh;
max-width: 80%;
}
#home {
background-color: white;
}
#about {
background-color: light-grey;
}
#footer {
background-color: white;
}
#yoyo {
background-color: white;
}
.box {
display: flex;
justify-content: center;
max-width: 80%;
margin: 0 auto;
}
.box .nav_out {
max-width: 20%;
float: left;
}
nav {
position: sticky;
top: 0;
background-color: white;
width: 0px;
}
nav .container {
height: 100%;
width: 160px;
position: fixed;
z-index: 1;
top: 0;
overflow-x: hidden;
padding-top: 20px;
margin-left:0%
}
nav .container ul li {
display: inline-block;
}
nav .container ul li a {
display: inline-block;
text-decoration: none;
padding: 10px 20px;
color: black;
}
nav .container ul li.active {
background-color: #E9E9E9;
transition: 0.3s ease background-color;
}
nav .container ul li.active a {
color: rgb(255, 255, 255);
}
</style>

I used flexbox to get the menu to be located at the right position, regardless of browser size.

Related

Make image align with paragraph text in padding

This is what it looks like, and the arrow kind of shows where I wish for the image to be.
my html code
<section class="box2">
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held og lykke med jeres mange fremtide projekter!</p>
<img src="images/emilybillede.jpg" alt="">
my css code
.underline {
text-decoration: underline;
}
.box2 img{
position: right;
width: 200px;
height: 200px;
}
.box2 {
margin: 0 auto;
margin-right: 20%;
margin-left: 20%;
margin-top: 20px;
background-color: rgb(255, 255, 255);
padding: 15px;
height: 50%;
}
p {
width: 300px;
}
I tried float as well but that takes it out of the padding.
I also tried vertical align
You could achieve it in several ways, using float, flex or position for example.
Here an example with float
.underline {
text-decoration: underline;
clear: both;
}
.box2 img {
float: right;
}
.box2 {
width: 100%;
}
p {
width: 300px;
float: left;
}
<section class="box2">
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held
og lykke med jeres mange fremtide projekter!</p>
<img src="https://www.filterforge.com/more/help/images/size200.jpg" alt="">
</section>
With floats the document order must be reversed. If you don't like that, consider using flexbox instead, with the paragraph and the image being children in a flex row.
Here are both options demonstrated.
.underline {
text-decoration: underline;
}
.box2 img {
width: 200px;
height: 200px;
margin-left: 10px;
}
img.float-right {
float: right;
}
.box2 {
margin: 0 auto;
margin-right: 20%;
margin-left: 20%;
margin-top: 20px;
background-color: rgb(255, 255, 255);
padding: 15px;
height: 50%;
}
p.sized {
width: 300px;
}
.flex-row {
display: flex;
}
.flex-row p:first-child {
margin-top: 0;
}
<section class="box2">
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<img src="https://via.placeholder.com/200" alt="" class="float-right">
<p class="sized">Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held
og lykke med jeres mange fremtide projekter!</p>
</section>
<section class="box2">
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<div class="flex-row">
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig,
held og lykke med jeres mange fremtide projekter!</p>
<img src="https://via.placeholder.com/200" alt="">
</div>
</section>
You can use the (flexbox) on the parent of the childrens then use (justify-content: space between), like the example below:
.underline {
text-decoration: underline;
}
.box2 img {
position: right;
width: 200px;
height: 200px;
}
.box2 {
margin: 0 auto;
margin-right: 20%;
margin-left: 20%;
margin-top: 20px;
background-color: rgb(255, 255, 255);
padding: 15px;
height: 50%;
display:flex;
justify-content: space-between;
}
p {
width: 300px;
}
<section class="box2">
<div>
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held
og lykke med jeres mange fremtide projekter!</p>
</div>
<img src="https://via.placeholder.com/200" alt="">
</section>
Use float, not position. Use this CSS. I hope it will help you.
.underline {
text-decoration: underline;
}
.box2 img {
float: right;
width: 200px;
height: 200px;
}
.box2 {
margin: 0 auto;
margin-right: 20%;
margin-left: 20%;
margin-top: 20px;
background-color: rgb(255, 255, 255);
padding: 15px;
height: 50%;
}
p {
width: 300px;
float: left;
}
.underline {
text-decoration: underline;
grid-column: 1/3;
grid-row: 1/2;
}
.box2 img {
width: 200px;
height: 200px;
grid-column: 2/3;
grid-row: 2/3;
}
.box2 {
margin: 20px 20%;
background-color: rgb(255, 255, 255);
padding: 15px;
display: grid;
grid-template-columns: min(1fr, 300px) 1fr;
grid-template-rows: min-content min-content;
gap: 15px;
box-shadow: 0 0 100px rgba(0, 0, 0, .1);
}
p {
text-indent: 2em;
margin: 0;
grid-column: 1/2;
grid-row: 2/3;
}
<section class="box2">
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held
og lykke med jeres mange fremtide projekter!</p>
<img src="https://via.placeholder.com/100" alt="">
</section>
All I had to do was move my img above the p, example:
so instead of this:
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held og lykke med jeres mange fremtide projekter!</p>
<img src="images/emilybillede.jpg" alt="">
It had to look like this:
<h1 class="underline"><b>Husk dit helbred!</b></h1>
<img src="images/emilybillede.jpg" alt="">
<p>Projekt arbejde er vigtigt, men ikke lige så vigtigt som dit helbred! Husk at drikke vand, at spise noget og at tage en masse pauser. Du bliver mere produktiv, hvis du skaber et sundt forhold til dit studie arbejde og helbred. Det var alt fra mig, held og lykke med jeres mange fremtide projekter!</p>

Strange empty hyperlink. How do I get rid of it?

I tried to make a list of hyperlinks for the "Follow" section of a footer I'm trying to create right at the end of my code, which should act as a button and I managed to do that. However, for some reason, there is some "extra-button" next to the last two hyperlinks and I can't seem to figure out why. I've already searched for a solution on the internet, but I couldn't find anything related to my problem. I would be really grateful if someone could take a look at my code real quick and tell me if they can figure out what's wrong.
(I apologize that the majority of the website is in German, but I tried my best to make most of it in English.)
body {
font-family: Arial, Helvetica, sans-serif;
}
h1 {
text-align: center;
font-style: italic;
}
.picture {
position: absolute;
left: 1150px;
top: 200px;
}
h2 {
text-decoration: underline;
}
.maintext {
margin-left: 100px;
}
h3 {
font-style: italic;
}
.nav {
background-color: red;
color: white;
padding: 14px 16px;
margin-right: 10px;
}
.nav_ul {
color: white;
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: black;
}
li {
float: left;
}
.navlist a {
display: block;
color: grey;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.navlist a:hover {
background-color: #434343;
color: white;
}
.footer {
color: grey;
margin: 0;
padding: 0;
overflow: hidden;
background-color: black;
padding-left: 300px;
}
.ftheads {
color: white;
font-weight: bold;
}
.ftcontent {
float: left;
display: block;
color: grey;
text-align: center;
padding: 40px 50px;
text-decoration: none;
}
.ftlist {
float: none;
padding: 5px;
text-align: left;
}
.ftlisthead {
color: white;
list-style-type: none;
font-style: italic;
float: none;
padding: 15px;
text-align: left;
margin-left: -25px;
margin-top: 5px;
}
.ftobject {
margin-top: 70px;
}
.ftobject a {
color: grey;
text-decoration: none;
background-color: black;
padding: 10px;
}
.ftobject a:hover {
background-color: #434343;
color: white;
}
.ftlist_follow {
float: none;
padding: 20px;
text-align: left;
}
.ftlist_follow a {
color: grey;
text-decoration: none;
background-color: black;
padding: 14px 16px;
}
.ftlist_follow a:hover {
background-color: #434343;
color: white;
}
<header>
<h1>Mein Sommer 2018</h1>
</header>
<div class="picture">
<img src="Wallpaper_komprimiert.jpg" alt="Landschaft" width=200px height=112px>
</div>
<hr>
<nav>
<div>
<ul class="nav_ul" id="navigationbar">
<li class="nav">Navigation</li>
<li class="navlist"> 1. Juli </li>
<li class="navlist"> 1. Woche </li>
<li class="navlist"> 2. Woche </li>
<li class="navlist"> 3. Woche </li>
<li class="navlist"> 4. Woche </li>
<li class="navlist"> 1. August </li>
<li class="navlist"> 5. Woche </li>
<li class="navlist"> 6. Woche </li>
<li class="navlist"> 7. Woche </li>
<li class="navlist"> 8. Woche </li>
</ul>
</div>
</nav>
<hr>
<div class="maintext">
<header>
<h2 id="Ziel1">1. Juli</h2>
</header>
<br>
<section>
<h3 id="Ziel2"> 1. Woche </h3>
</section>
<article>
<h4>In der ersten Ferienwoche habe ich eine Zeichnung fertiggestellt, an der ich schon eine Weile gearbeitet habe. <br> Die meiste Zeit habe ich aber mit meiner Schwester und unseren Freunden verbracht.
</h4>
</article>
<section>
<h3 id="Ziel3">2. Woche</h3>
</section>
<article>
<h4>In der zweiten Ferienwoche begann es allmählich heißer zu werden. Deshalb blieben meine Schwester und ich die meiste Zeit Zuhause. Wenn Freunde kamen, spielten wir normalerweise Videospiele.
</h4>
</article>
<section>
<h3 id="Ziel4">3. Woche</h3>
</section>
<article>
<h4>Die dritte Woche war aufgrund der Hitze relativ wenig los. Fast jeden Tag verbrachten meine Schwester, ihr Freund und ich stundenlang bei einem Freund. Glücklicherweise hatte dieser eine Klimaanlage, was vorteilhaft war.
</h4>
</article>
<section>
<h3 id="Ziel5">4. Woche</h3>
</section>
<article>
<h4>In der vierten Woche übernachteten wir zwei mal bei unserem Freund. In der ersten Nacht schauten wir während des Verlaufes der Nacht drei Filme und blieben deshalb selbstverständlich die ganze Nacht wach. In der zweiten Nacht haben wir uns wieder
zwei Filme angesehen, gingen aber diesmal um etwa 4:00 schlafen.
</h4>
</article>
<br>
<header>
<h2 id="Ziel6">1. August</h2>
</header>
<br>
<section>
<h3 id="Ziel7">5. Woche</h3>
</section>
<article>
<h4>In der fünften Woche ging einer unserer Freunde für den Rest der Ferien arebiten um ein Praktikum am Flughafen Wien zu machen. Folglich war auch noch weniger los als sonst. Der Freund meiner Schwester kam zwar noch immer fast jeden Tag, jedoch relativ
spät.
</h4>
</article>
<section>
<h3 id="Ziel8">6. Woche</h3>
</section>
<article>
<h4>Nun wurde es glücklicherweise kühler und ich schaffte es mich wieder besser zu beschäftigen als mit dem Handy oder Videospielen. Ich traf mich seit längerer Zeit wieder mit einem Freund im Parkbad.
</h4>
</article>
<section>
<h3 id="Ziel9">7. Woche</h3>
</section>
<article>
<h4>In der siebten Ferienwoche unternahmen meine Familie und ich einen Ausflug zu meiner Tante und ihrem Lebensgefährten, die wir seit mehreren Jahren nicht gesehen haben. Wir hatten gehofft, dass wir meine Cousine auch sehen würden, aber diese war leider
arbeiten.
</h4>
</article>
<section>
<h3 id="Ziel10">8. Woche</h3>
</section>
<article>
<h4>In der letzen Woche versuchten meine Schwester und ich unser bestes um die letzten paar Ferientage noch so gut wie möglich auszunutzen. Wir verbrachten abermals einen Tag bei meiner Tante und haben diesmal auch unsere Cousine wiedergesehen. Unser
Freund hat sich für die letzten zwei Tage seines Praktikums Urlaub genommen und konnte folglich die restlichen Tage mit uns Zeit verbringen.
</h4>
</article>
</div>
<footer class="footer">
<div class="ftcontent">
<header class="ftheads"> Navigate </header>
<section class="ftobject">
- Navigation-Bar
</section>
</div>
<div class="ftcontent">
<header class="ftheads"> Contact </header>
<section>
<ul>
<header class="ftlisthead">E-mail:</header>
<li class="ftlist"> nayonyx#gmail.com </li>
<li class="ftlist"> 8085#htl.rennweg.at </li>
<header class="ftlisthead"> Telephone: </header>
<li class="ftlist"> +436606611766 </li>
</ul>
</section>
</div>
<div class="ftcontent">
<header class="ftheads"> Follow </header>
<section>
<ul>
<li class="ftlist_follow"> <a href="#Facebook"> Facebook </li>
<li class="ftlist_follow"> <a href="#Instagram"> Instagram </li>
<li class="ftlist_follow"> <a href="#Twitter"> Twitter </li>
</ul>
</section>
</div>
</footer>
You forgot to close your HTML <a> tag using </a>, like this:
<ul>
<li class="ftlist_follow"> Facebook </li>
<li class="ftlist_follow"> Instagram </li>
<li class="ftlist_follow"> Twitter </li>
</ul>
That should fix your issue.
Just remove the padding here and buttons will disappear.
.ftlist_follow a {
color: grey;
text-decoration: none;
background-color: black;
padding: 14px 16px;
}

What should I put in so the div gets vertical align?

I have tried to put in table-cell, table, inline-block, inline, but nothing works. Do any of you know what and where should I put in to make the div that has the text inside it to be vertical-align = middle?
.div1b {
width: 100%;
background-color: white;
height: 100vh;
}
.div2 {
width: 90%;
overflow: hidden;
}
.div6 {
width: 90%;
margin-left: 10%;
float: left;
}
.div8b {
width: calc(100% - 20px);
background-color: white;
padding: 10px;
border-radius: 2px;
}
.text5 {
color: black;
text-align: left;
margin: 0px;
line-height: 1.5;
}
<div id="BIO" class="div1b">
<div class="div2">
<div class="div6">
<div class="div8b">
<p class="text5">Unge Ferrari (egentlig Stig Joar Haugen) er en norsk rapper, sanger og låtskriver fra Hamar. Han debuterte i 2015 med albumet Til mine venner. Albumet inneholdt gjennombruddssinglene «Lianer» og «Hvis du vil» med Tomine Harket, og ble nominert til Spellemannprisen i kategorien «Urban». <br><br>
Året etter utga han EPen «Hva er vi nå // H.E.V.N. //» sammen med Tomine Harket, før han i 2017 var tilbake på egne ben med EPen «Romeo må dø». <br><br>
Unge Ferrari har de siste årene vært et populært navn å samarbeide med, og han har jobbet sammen med flere norske og svenske artister, som Lars Vaular, Store P, Cherrie og Silvana Imam. Hans fremste samarbeidspartner er imidlertid rapperen Arif, som han har spilt en rekke låter og konserter med. Unge Ferrari og Arif utgjør dessuten, sammen med Karpe Diem, supergruppen MARS. <br><br>
Unge Ferrari har en flytende sangstil som grenser mellom rap og R&B, og han bruker ofte autotune. Det er som regel Filip Kollsete og Aksel «Axxe» Carlson» som står bak produksjonene.</p>
</div>
</div>
</div>
</div>
using display:table with vertical-align = middle.
.div1b {
width: 96%;
background-color: white;
height: 100vh;
padding: 0 2%;
display: table;
}
.div8b {
display: table-cell;
vertical-align: middle;
}
<div id="BIO" class="div1b">
<div class="div8b">
<p class="text5">Unge Ferrari (egentlig Stig Joar Haugen) er en norsk rapper, sanger og låtskriver fra Hamar. Han debuterte i 2015 med albumet Til mine venner. Albumet inneholdt gjennombruddssinglene «Lianer» og «Hvis du vil» med Tomine Harket, og ble nominert til Spellemannprisen i kategorien «Urban». <br><br>
Året etter utga han EPen «Hva er vi nå // H.E.V.N. //» sammen med Tomine Harket, før han i 2017 var tilbake på egne ben med EPen «Romeo må dø». <br><br>
Unge Ferrari har de siste årene vært et populært navn å samarbeide med, og han har jobbet sammen med flere norske og svenske artister, som Lars Vaular, Store P, Cherrie og Silvana Imam. Hans fremste samarbeidspartner er imidlertid rapperen Arif, som han har spilt en rekke låter og konserter med. Unge Ferrari og Arif utgjør dessuten, sammen med Karpe Diem, supergruppen MARS. <br><br>
Unge Ferrari har en flytende sangstil som grenser mellom rap og R&B, og han bruker ofte autotune. Det er som regel Filip Kollsete og Aksel «Axxe» Carlson» som står bak produksjonene.</p>
</div>
</div>
using display:flex with vertical-align = middle.
.div1b {
width: 96%;
background-color: white;
height: 100vh;
padding: 0 2%;
display: flex;
}
.div8b {
margin: auto;
}
<div id="BIO" class="div1b">
<div class="div8b">
<p class="text5">Unge Ferrari (egentlig Stig Joar Haugen) er en norsk rapper, sanger og låtskriver fra Hamar. Han debuterte i 2015 med albumet Til mine venner. Albumet inneholdt gjennombruddssinglene «Lianer» og «Hvis du vil» med Tomine Harket, og ble nominert til Spellemannprisen i kategorien «Urban». <br><br>
Året etter utga han EPen «Hva er vi nå // H.E.V.N. //» sammen med Tomine Harket, før han i 2017 var tilbake på egne ben med EPen «Romeo må dø». <br><br>
Unge Ferrari har de siste årene vært et populært navn å samarbeide med, og han har jobbet sammen med flere norske og svenske artister, som Lars Vaular, Store P, Cherrie og Silvana Imam. Hans fremste samarbeidspartner er imidlertid rapperen Arif, som han har spilt en rekke låter og konserter med. Unge Ferrari og Arif utgjør dessuten, sammen med Karpe Diem, supergruppen MARS. <br><br>
Unge Ferrari har en flytende sangstil som grenser mellom rap og R&B, og han bruker ofte autotune. Det er som regel Filip Kollsete og Aksel «Axxe» Carlson» som står bak produksjonene.</p>
</div>
</div>

How to make columns

My goal is to have the two Pictures side by side with its text beneath it, as described here.
The HTML cannot be changed.
I tried a bunch of things, like margin, display and float, nothing has yet done the trick.
What I have so far :
/*stildeklarationer för rubriker */
body {
margin-bottom: 496px !important;
}
h1 {
font-size: 30px;
letter-spacing: 4px;
color: blue;
font-family: helvetica;
font-weight: normal;
margin: auto;
border: 2px;
text-align: center;
border-style: solid;
border-color: #000000
}
h2 {
font-size: 20px;
letter-spacing: 4px;
color: #000000;
font-family: helvetica;
font-weight: normal;
}
/*stildeklarationer för bilder */
img {
float: left;
max-width: 260px;
max-height: 480px;
position: relative;
}
/*stildeklarationer för all text */
p {
width: 50%;
font-family: Verdana;
color: #CCC;
font-size: 13px;
line-height: 20px;
text-align: justify;
background-color: white;
color: black;
border-style: solid;
border-color: #000000
}
article section footer {
float: left;
clear: both;
font-family: Verdana;
color: #CCC;
font-size: 10px;
line-height: 16px;
text-align: justify;
}
footer {
clear: both;
overflow: auto;
font-family: Verdana;
color: #CCC;
font-size: 12px;
line-height: 16px;
text-align: center;
}
#wrapper {
width: 900px;
margin: 0 auto;
/*centrerar*/
position: relative;
}
<div id="wrapper">
<header>
<h1>Smakprov ur studieguiden för webbutveckling 2</h1>
</header>
<article>
<section>
<header>
<h2>Om CSS</h2>
</header>
<img src="./Modul 2 - uppgift 2_files/W6GqEQ" alt="css3">
<p>Vad CSS kan användas till har vi lärt oss i föregående kurs men vi kommer arbeta vidare med stilmallar i denna studieguide eftersom det är ett sätt att styra utseendet på hemsidan som ska användas. Inga hemsidor görs idag utan att använda just stilmallar
och allt eftersom nya versioner av CSS släpps så förbättras möjligheterna och utbudet av funktioner som erbjuds.</p>
<p>Den senaste versionen av CSS är då CSS3 och för att vi fullt ut ska kunna utnyttja denna version ska vi alltså använda HTML5. Glöm dock inte att webbdesign utvecklas hela tiden och det som är sanning idag behöver inte vara sanning imorgon</p>
<p class="linktext">Här är ett youtube-klipp om CSS</p>
<footer>Skrivet av Oscar Antbring den 12 juni 2013</footer>
</section>
<section>
<header>
<h2>Om märkspråk</h2>
</header>
<img src="./Modul 2 - uppgift 2_files/U7tltv" alt="html5">
<p>Märkspråk – eller markup language – är ett sätt att med hjälp av olika textkoder ge direktiv till ett program (i vårt fall då en webbläsare) hur ett dokument ska presenteras och vilka funktioner som ska finnas. Som vi kommer ihåg från första kursen
så finns flera olika sådana textkoder att använda – eller taggar som vi ofta kallar dem för. Det kan vara en tagg för att berätta för webbläsaren att vi vill presentera en hyperlänk, eller att vi ska presentera en bild exempelvis. Naturligtvis
måste webbläsaren veta vad de olika koderna – eller taggarna – betyder. Det är därför som olika märkspråk (och versioner) finns och från föregående kurs kommer vi ihåg HTML 4.01 samt XHTML. Vilket märkspråk som används ska vi specificera i dokumentet
så att webbläsaren vet vilka taggar som kan användas och vad de betyder</p>
<p>När vi skapar en hemsida så specificerar vi en så kallad DOCTYPE som beskriver vilket typ av dokument som webbläsaren kan förvänta sig. Vi säger helt enkelt till webbläsaren – ”detta dokument är av typen HTML5, och då kan du förvänta dig dessa taggar
och struktur”. Naturligtvis måste webbläsaren ha stöd för HTML5 så att programmet vet vad som ska göras med taggarna och deras egenskaper.Det är därför det är så viktigt att vi validerar koden så att vår kod stämmer överens med vad webbläsaren
förväntar sig utifrån typen av dokument. Vi kommer återkomma till just validering av koden i sista modulen även om det redan tagits upp i första kursen – validera gärna kontinuerligt koden genom hela utvecklingsarbetet.</p>
<p class="linktext">Här är en svensk artikel som beskriver HTML5</p>
<footer>Skrivet av Oscar Antbring den 11 juni 2013</footer>
</section>
</article>
<footer>©Hermods</footer>
</div>
If you want the blocks to be side-by-side you could try the following:
section {
float: left;
width: 50%;
}

100% height Sidebar and a Footer who wont stay below it

I need help with a combination of a sticky footer, and a content area that has a sidebar.
Here's a code snippet:
html, body {
height: 100%;
}
/* Force Footer to Stay Down */
#outtermost-wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -50px;
}
.container-fluid {
max-width: 960px;
padding: 0;
margin: 0;
border: 1px dotted pink;
}
#page-header {
border: 3px dotted blue;
}
.chart-nav {
border: 2px solid green;
}
#page-content {
border: 3px dashed green;
}
.chart-sidebar-wrapper {
width: 145px;
}
.faux-sidebar-wrapper {
background-color: #E8E8E8;
min-height: 100px;
position: absolute;
top: 55px; /* Top Nav + Chart Nav Heights (ESTIMATED FOR THIS EXAMPLE)*/
bottom: 50px; /* Footer Height */
width: 100%;
}
nav.navbar-default {
margin-bottom: 50px;
width: 100%;
}
.faux-sidebar {
margin: 0 0 0 155px;
padding: 0;
position: relative;
height: 100%;
background-color: #F8F8F8;
border-left: 1px solid fuschia;
min-height: 100px;
}
.footer-push {
clear: both;
border: 3px solid pink;
height: 50px;
}
#page-footer {
width: 100%;
height: 50px;
border: 3px solid red;
}
<div id="outtermost-wrapper">
<div id="page-header" class="container-fluid">
HEADER - Blue Dotted - Stays at the top
</div>
<div id="page-content" class="container-fluid">
<div class="chart-nav">
SUB HEADER - Green Solid - Stays at the top
</div>
<div class="faux-sidebar-wrapper">
<div class="chart-sidebar-wrapper">
<nav class="navbar-default navbar-static-side">
<ul class="nav metismenu">
<li>Menu Item</li>
<li>Menu Item</li>
<li>Menu Item</li>
</ul>
</nav>
</div>
<div class="faux-sidebar">
<div class="row main">
<div>Actual Page Content with Widgets and What Not</div>
</div>
</div>
</div>
<div class="footer-push"></div>
</div>
</div>
<div id="page-footer" class="container-fluid">
FOOTER - Red Solid - Stay below the and not lift off the bottom of the page for short content.
</div>
It looks something like this,
My problem is that I need the sidebar (see the hyperlinks) to stretch all the way to the footer (Its supposed to have a thin border on the right) and I also need the footer to not lift up off the bottom of the window when the content is short.
P.S. I'm using bootstrap if that helps.
Please help, thank you.
Here is a layout that I think represents what you're going for - check out the jsFiddle link and resize the page. You can see that for short content, the footer lays at the bottom of the page. For longer content, the content pushes the footer down past the bottom of the page and the page scrolls.
Solution adapted from the code in this article. The only caveat is that for this solution to work, the footer needs to have a fixed height (in this case 60px).
JSFiddle: https://jsfiddle.net/2gcxvjms/
Live Demo:
html, body {
margin:0;
padding:0;
height:100%;
}
#container {
min-height:100%;
position:relative;
}
#header {
background:#ff0;
padding:10px;
}
#subheader {
padding: 10px;
background: lightblue;
}
#body {
padding-bottom:60px;
overflow: auto;
/* Height of the footer */
}
#footer {
position:absolute;
bottom:0;
width:100%;
height:60px;
/* Height of the footer */
background:#6cf;
}
/* other non-essential CSS */
#header p, #header h1 {
margin:0;
padding:10px 0 0 10px;
}
#footer p {
margin:0;
padding:10px;
}
#c1 {
float: left;
width: 50%;
}
#c2 {
float: left;
width: 50%;
height: 100%;
}
<div id="container">
<div id="header">
<h1>Header 1 Text</h1>
</div>
<div id="subheader">
<h2>Header 2 Text</h2>
</div>
<div id="body">
<div id="c1">
Column 1 Text<br />
Column 1 Text<br />
Column 1 Text<br />
Column 1 Text<br />
Column 1 Text<br />
Column 1 Text<br />
</div>
<div id="c2">
Column 2 Text<br />
Column 2 Text<br />
Column 2 Text<br />
Column 2 Text<br />
Column 2 Text<br />
Column 2 Text<br />
</div>
</div>
<div id="footer">
Footer Text
</div>
</div>
Here's a version of your layout using navbars fixed to the top and a fixed-sidebar so your main-content scrolls under everything. Then you can layer the sidebar and footer to either be over or under one another. Right now it looks attached but the CSS is easily changed so one could cover the other.
The sidebar is hidden on viewports under 360px but can be restored by removing to media query.
Hope it helps.
body,
html {
position: relative;
margin-top: 125px;
margin-bottom: 50px;
}
.navbar.navbar-custom {
border-radius: 0px;
border: none;
background: #337ab7;
border-bottom: 1px solid #ff0;
}
.navbar-custom .upper-nav {
font-size: 20px;
padding: 9px 20px;
height: 50px;
color: #337ab7;
background-color: #fff;
}
.navbar-custom .upper-nav img {
margin-top: 0px;
}
.navbar-custom .navbar-nav {
margin-right: 30px;
}
.navbar-custom .nav-buttons {
border-radius: 0px;
background: none;
border: none;
color: #337ab7;
}
.navbar.navbar-custom .btn-group .dropdown-menu > li > a {
color: #fff;
}
.navbar.navbar-custom .btn-group .dropdown-menu > li > a:hover {
color: #444;
}
.navbar.navbar-custom .navbar-nav > li > a {
color: #fff;
border: none;
}
.navbar.navbar-custom .navbar-brand {
color: #fff;
}
.navbar.navbar-custom .dropdown-menu {
background: #266080;
}
.navbar-custom .navbar-nav .open .dropdown-menu > li > a,
.navbar-custom .navbar-nav .open .dropdown-menu {
color: #fff;
border: none;
}
.navbar-custom .navbar-nav .open .dropdown-menu > li >a:hover,
.navbar-custom .navbar-nav .open .dropdown-menu:hover {
color: #fff;
border: none;
}
.navbar.navbar-custom .navbar-toggle,
.navbar.navbar-custom .navbar-toggle:focus,
.navbar.navbar-custom .navbar-toggle:hover {
background: none;
outline: none;
box-shadow: none;
border: none;
color: #fff;
}
.sidebar-fixed {
margin-top: 100px;
padding: 5px 18px;
position: fixed;
width: 200px;
height: 100%;
top: 0;
left: 0;
background: #337ab7;
border-right: 1px solid #ff0;
z-index: 1500;
}
ul.sidebar-list {
list-style: none;
display: inline;
text-align: left;
}
ul.sidebar-list > li {
font-size: 18px;
padding-bottom: 25px;
}
ul.sidebar-list > li > a {
color: #fff;
text-decoration: none;
}
.main-content .well {
background-color: transparent;
border: 3px solid #428bca;
border-radius: 0px;
text-align: center;
font-size: 25px;
}
.main-content {
margin-left: 200px;
}
.footer {
vertical-align: center;
position: fixed;
bottom: 0;
width: 100%;
height: 50px;
background-color: #337ab7;
padding: 12px 0;
z-index: 3100;
}
ul.footer-nav > li {
margin-top: 5px;
list-style: none;
vertical-align: center;
text-align: right;
}
ul.footer-nav > li > a {
text-decoration: none;
color: #fff;
}
#media (max-width: 768px) {
.navbar-custom .navbar-nav {
margin-right: 0;
}
.navbar-custom .navbar-nav > li > a {
color: #fff;
}
.sidebar-fixed {
margin-top: 104px;
width: 100px;
}
.main-content {
margin-left: 100px;
padding: 0;
}
ul.sidebar-list > li {
font-size: 14px;
padding-bottom: 25px;
}
.navbar-custom .navbar-collapse {
margin-left: 100px;
border: none;
}
}
#media (max-width: 360px) {
.sidebar-fixed {
display: none;
}
.main-content {
margin-left: 0;
padding: 0;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div class="container-fluid">
<nav class="navbar navbar-default navbar-fixed-top navbar-custom" role="navigation">
<div class="upper-nav">
<img src="http://placehold.it/150x30/337ab7/fff?text=Logo" alt="" />
<div class="btn-group pull-right">
<button type="button" class="btn btn-default dropdown-toggle nav-buttons" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="glyphicon glyphicon-user" </span>
</button>
<ul class="dropdown-menu">
<li>Action
</li>
</ul>
</div>
<div class="btn-group pull-right">
<button type="button" class="btn btn-default dropdown-toggle nav-buttons" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="glyphicon glyphicon-inbox" </span>
</button>
<ul class="dropdown-menu">
<li>Action
</li>
</ul>
</div>
<div class="btn-group pull-right">
<button type="button" class="btn btn-default dropdown-toggle nav-buttons" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="glyphicon glyphicon-off" </span>
</button>
<ul class="dropdown-menu">
<li>Action
</li>
</ul>
</div>
</div>
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="glyphicon glyphicon-plus"></span>
</button> <a class="navbar-brand" href="#">Home</a>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown"> Menu Item <span class="caret"></span>
<ul class="dropdown-menu">
<li>Menun Item 1
</li>
<li>Menun Item 2
</li>
</ul>
</li>
<li class="dropdown"> Menu Item <span class="caret"></span>
<ul class="dropdown-menu">
<li>Menun Item 1
</li>
<li>Menun Item 2
</li>
</ul>
</li>
<li class="dropdown"> Menu Item <span class="caret"></span>
<ul class="dropdown-menu">
<li>Menun Item 1
</li>
<li>Menun Item 2
</li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
<div class="container-fluid">
<div class="sidebar-fixed">
<ul class="sidebar-list">
<li> About
</li>
<li> Contact
</li>
<li> Products
</li>
<li> Blog
</li>
</ul>
</div>
<div class="main-content">
<div class="container-fluid">
<div class="well"> Bootstrap 3
</div>
<p>Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux
de texte pour réaliser un livre spécimen de polices de texte. Il n'a pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce
à la vente de feuilles Letraset contenant des passages du Lorem Ipsum, et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition
et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte. Il n'a
pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce à la vente de feuilles Letraset contenant des passages du Lorem Ipsum,
et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem I</p>
<p>Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux
de texte pour réaliser un livre spécimen de polices de texte. Il n'a pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce
à la vente de feuilles Letraset contenant des passages du Lorem Ipsum, et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition
et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte. Il n'a
pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce à la vente de feuilles Letraset contenant des passages du Lorem Ipsum,
et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem I</p>
<p>Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux
de texte pour réaliser un livre spécimen de polices de texte. Il n'a pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce
à la vente de feuilles Letraset contenant des passages du Lorem Ipsum, et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition
et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux de texte pour réaliser un livre spécimen de polices de texte. Il n'a
pas fait que survivre cinq siècles, mais s'est aussi adapté à la bureautique informatique, sans que son contenu n'en soit modifié. Il a été popularisé dans les années 1960 grâce à la vente de feuilles Letraset contenant des passages du Lorem Ipsum,
et, plus récemment, par son inclusion dans des applications de mise en page de texte, comme Aldus PageMaker.Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem I</p>
</div>
</div>
</div>
<footer class="footer">
<div class="container">
<ul class="footer-nav">
<li>Copyright © 2015
</li>
</ul>
</div>
</footer>
So from my comments I made a very simple version to show how little code is needed to achieve what you want
Edit:
Updated my code sample to a snippet instead of a fiddle.
And this sample can be upgraded to use flex with a few changes of the html/css.
html,
body { height: 100%; margin: 0 }
body, .main-inner {
display: table;
width: 100%;
height: 100%
}
.page-row {
display: table-row;
height: 1px;
}
.page-row-expanded { height: 100%; }
.item1, .item2 {
width: 29%;
box-sizing: border-box;
display: table-cell;
height: 100%
}
.item2 {
width: 70%;
}
.header-inner, .footer-inner, .item1, .item2 {
border: 1px solid black
}
<header class="page-row">
<div class="header-inner">
<h1>Site Title</h1>
</div>
</header>
<header class="page-row">
<div class="header-inner">
<h1>Sub Site Title</h1>
</div>
</header>
<main class="page-row page-row-expanded">
<div class="main-inner">
<div class="item1">
Menu
</div>
<div class="item2">
Sample <br>
Content <br>
</div>
</div>
</main>
<footer class="page-row">
<div class="footer-inner">
<p>Copyright, blah blah blah.</p>
</div>
</footer>