Menu'en skal altid være øverst på alle sider

Tags:    css

Menu'en skal altid være øverst på alle sider
Jeg har brug for hjælp til at få en menu til altid at vøre synlig øverst på alle sider.
Jeg vil gerne i samarbejde med en anden bruger og betale for en løsning som fungerer perfekt :-)
Nedenfor er html og CSS som det er nu og som skal forbedres:
<!DOCTYPE html>
<html>
<head>
<title>forbedret men</title>
<meta name="viewport" content="width=device-width" />
<style>

#menu, #menu ul {
margin: 0;
padding: 0;
list-style: none;
}

#menu {
width: 900px;
margin: 10px auto;
border: 1px #222222;
background-color: #004a87;
border-radius: 6px;
box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
}

#menu:before,
#menu:after {
content: "";
display: table;
}

#menu:after {
clear: both;
}

#menu {
zoom:1;
}

#menu li {
float: left;
/* border-right: 1px solid #222; */
/* border-right: 1px #222; */
box-shadow: 1px 0 0 #444;
position: relative;
}

#menu a {
float: left;
padding: 12px 30px;
color: #fff;
text-transform: uppercase;
font: 10px Verdana, Arial, Helvetica;
text-decoration: none;
text-shadow: 0 1px 0 #000;
}

#menu li:hover > a {
color: #fafafa;
}

*html #menu li a:hover { /* IE6 only */
color: #fafafa;
}

#menu ul {
margin: 20px 0 0 0;
_margin: 0; /*IE6 only*/
opacity: 0;
visibility: hidden;
position: absolute;
top: 38px;
left: 0;
z-index: 1;
background: #444;
box-shadow: 0 -1px 0 rgba(255,255,255,.3);
border-radius: 3px;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}

#menu li:hover > ul {
opacity: 1;
visibility: visible;
margin: 0;
}

#menu ul ul {
top: 0;
left: 150px;
margin: 0 0 0 20px;
_margin: 0; /*IE6 only*/
/* -moz-box-shadow: -1px 0 0 rgba(255,255,255,.3);
-webkit-box-shadow: -1px 0 0 rgba(255,255,255,.3);
box-shadow: -1px 0 0 rgba(255,255,255,.3); */
}

#menu ul li {
float: none;
display: block;
border: 0;
_line-height: 0; /*IE6 only*/
-moz-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
-webkit-box-shadow: 0 1px 0 #111, 0 2px 0 #666;
box-shadow: 0 1px 0 #111, 0 2px 0 #666;
}

#menu ul li:last-child {
/* -moz-box-shadow: none; */
-webkit-box-shadow: none;
box-shadow: none;
}

#menu ul a {
padding: 10px;
width: 130px;
_height: 10px; /*IE6 only*/
display: block;
white-space: nowrap;
float: none;
text-transform: none;
}

#menu ul a:hover {
background-color: #0186ba;
/* background-image: -moz-linear-gradient(#04acec, #0186ba);
background-image: -webkit-gradient(linear, left top, left bottom, from(#04acec), to(#0186ba));
background-image: -webkit-linear-gradient(#04acec, #0186ba);
background-image: -o-linear-gradient(#04acec, #0186ba);
background-image: -ms-linear-gradient(#04acec, #0186ba);
background-image: linear-gradient(#04acec, #0186ba); */
}

#menu ul li:first-child > a {
-moz-border-radius: 3px 3px 0 0;
-webkit-border-radius: 3px 3px 0 0;
border-radius: 3px 3px 0 0;
}

#menu ul li:first-child > a:after {
content: '';
position: absolute;
left: 40px;
top: -6px;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #444;
}

#menu ul ul li:first-child a:after {
left: -6px;
top: 50%;
margin-top: -6px;
border-left: 0;
border-bottom: 6px solid transparent;
border-top: 6px solid transparent;
border-right: 6px solid #3b3b3b;
}

#menu ul li:first-child a:hover:after {
border-bottom-color: #04acec;
}

#menu ul ul li:first-child a:hover:after {
border-right-color: #0299d3;
border-bottom-color: transparent;
}

#menu ul li:last-child > a {
-moz-border-radius: 0 0 3px 3px;
-webkit-border-radius: 0 0 3px 3px;
border-radius: 0 0 3px 3px;
}

</style>
</head>
<body>

<nav id="menu-wrap">
<ul id="menu">
<li><a href="/">FRAMSÍÐA</a></li>


<li>
<a href="">SÁTTMÁLAR</a>

<ul>
<li><a href="">FISKISKIP</a></li>
<li><a href="">FARMASKIP</a></li>
<li><a href="">FÍGGJARMÁLARÁÐIÐ</a></li>
<li><a href="">KOMMUNUR</a></li>
<li><a href="">AÐRIR SÁTTMALAR</a></li>
</ul>
</li>

<li>
<a href="">LØNARTALVUR</a>
<ul>
<li><a href="">FISKISKIP</a></li>
<li><a href="">FARMASKIP</a></li>
<li><a href="">FÍGGJARMÁLARÁÐIÐ</a></li>
<li><a href="">KOMMUNUR</a></li>
<li><a href="">AÐRIR SÁTTMALAR</a></li>

</ul>
</li>
<li>
<a href="">UMSITING</a>
<ul>
<li><a href="">BÚSTAÐUR</a></li>
<li><a href="">SKRIVSTOVAN</a></li>
<li><a href="">STARVSFÓLKV</a></li>
<li><a href="">AVGREIÐSLA</a></li>

</ul>
</li>

<li>
<a href="">FELAGIÐ</a>
<ul>
<li><a href="">FORMAÐURIN</a></li>
<li><a href="">VIÐTØKUR</a></li>
<li><a href="">NEVNDARLIMIR</a></li>
<li><a href="">SAMSTARV</a></li>
</ul>
</li>


<li>
<a href="">KUNNING</a>
<ul>
<li><a href="">LIMASKAPUR</a></li>
<li><a href="">SPYR FELAGIÐ</a></li>
<li><a href="">ÁHEITAN</a></li>
<li><a href="">EFTIRLØN</a></li>
<li><a href="">SAMLAGSTRYGGING</a></li>
<li><a href="">SLÓÐIR</a></li>
</ul>
</li>

<li>
<a href="">INNIHALDSYVIRLIT</a>
</li>



</ul>
</li>
</nav>


</body>
<html>



3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
ref Bjorn i Dali @ 20.04.16 10:15
det indlæg blev jeg ikke klogere af: (intet indhold)


jeg tror godt du kan fjerne understøttelse af IE6

nb:
for at redigerer et existerende indlæg, tryk på icon med blyant på, når du fører musen op i indlæg titel linje
ellers tryk på det blå spørgsmåls tegn når du skriver indlæg

ref http://www.eksperten.dk/spm/1010307#reply_8218239

Da jeg skrev "Menu'en skal altid være øverst på alle sider" så skal det forstås således at når man skroller ned på en side så skal menu'en ikke skrolle væk. Det vil sige at den altid skal ses øverst.

http://www.w3schools.com/cssref/pr_class_position.asp

ref http://www.eksperten.dk/spm/1010307#reply_8218239

Jeg har tænkt mig at lægges menuen i en "include fil" så den kommer ind på alle sider.

også den normale og rigtige måde


quick fix
tilføj position: fixed; i denne code
Fold kodeboks ind/udKode 


så det ser sådan ud
Fold kodeboks ind/udKode 


så samlet ser det sådan ud:
Fold kodeboks ind/udKode 

demo http://udvikleren.olsensweb.dk/test.html

hvad med folk der har en smallere skærm ?? de mangler nogle menu'er
de får ikke engang en scrool bar i bunden :(




kører også på http://www.eksperten.dk/spm/1010307 ingen svar pt


Menu'en skal altid være øverst på alle sider
Jeg har brug for hjælp til at få en menu til altid at vøre synlig øverst på alle sider.

hvorfor tænker du ikke allerede nu i responsivt design ??

jeg tror det nemmeste for dig vil være at baserer det på et CSS framework
http://purecss.io/
http://foundation.zurb.com/
http://getskeleton.com/
http://getbootstrap.com/

læs evt http://www.w3schools.com/css/css_rwd_frameworks.asp
for et kort intro

boootstrap er nok det mest udbredte, og vil være min anbefaling

alternativt til et framework er du selv skal rode med media query
https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries
http://www.w3schools.com/cssref/css3_pr_mediaquery.asp
http://www.w3schools.com/css/css3_mediaqueries_ex.asp


for at ligge det på alle sider kan du anvende noget serverside code (PHP/.NET) (hvad har du til rådighed ?? )
det kan evt laves i JavaScript der ville jeg kigge på
https://material.angularjs.org/latest/demo/menuBar
https://material.angularjs.org/latest/demo/menu
eller noget jquery
https://jqueryui.com/menu/



du kunne også bygge det i et færdigt CMS, hvis du har serverside code til rådighed
feks
php baseret
https://da.wordpress.org/
http://www.joomla.dk/


NB: dit indlæg bliver nemmere at læse hvis du smider din code ind i en code box

så kort hvad har du tænkt dig, hvilke forbedringer (jeg anbefaler responsivt design)








t