Le doublon possible n'a pas aidé
Je sais qu'il existe de nombreuses réponses à ce sujet, mais aucune d'entre elles ne m'a aidé et j'ai passé plusieurs jours sur Ce problème . 90% des réponses et des livres donnent cette astuce qui ne m'a pas aidé.
HTML
<body >
<h1>Hello Plunker!</h1>
<div class="sidebar">
<ul>
<li><a href="#">ANALYTICS</a></li>
<li><a href="#">STYLES</a></li>
<li><a href="#">VOTERS</a></li>
<li><a href="#">GET STARTED</a></li>
<li><a href="#">UPDATE</a></li>
</ul>
</div>
<div class="content">
<p>Content</p>
</div>
CSS
body{
width: 100%;
margin: 0 auto;
}
.content {
width: 95%;
display: inline;
float: left;
background: url(http://s9.postimg.org/ft91z9c6z/bg_content.png) repeat-y left top;
}
.sidebar{
width: 5%;
display: inline;
height: 100%;
float: left;
background: url(http://s21.postimg.org/kexv3aupf/bg_sidebar.png) repeat-y left top;
}
.sidebar ul{
width: 100%;
margin: 0;
padding: 0;
overflow: hidden;
list-style: none;
}
.sidebar li{
padding: 50%;
position: relative;
}
.sidebar a{
display: block;
font-size: 0.5em;
position: absolute;
bottom: 0;
left: 0;
}
En ce moment, ma mise en page ressemble à ceci:
Et je veux que ça ressemble à ceci:
J'ai suivi ce guide proposé dans la possibilité de dupliquer et cela n’a pas aidé Je pense que c’est parce que j’utilise floats
et fluid layout
.
Comment puis-je étendre les colonnes tout en conservant le positionnement fluid layout
et float
.
J'ai mis à jour votre code. Découvrez-le sur Plunker .
Au début, essayez de ne pas utiliser les positions absolute
ou relative
, si elles ne sont pas nécessaires.
La seconde, dans votre cas en donnant les styles display: inline
et float: left
, fait la même chose, donc il y en a assez pour n’utiliser que le dernier.
De plus, j’ai défini les balises height
sur HTML
et BODY
à 100% et fait de même pour sidebar
et content
DIV
s, de sorte qu’elles auront la hauteur fill
et parent
(body
).
Enfin, l'un de vos problèmes était la valeur repeat-y
de la propriété background
. Il ne s'est pas répété sur l'axe des x, vous n'avez donc pas vu la taille réelle de DIV
s. Je viens de le définir sur repeat
au lieu de repeat-y
.
Essayez quelque chose comme ça:
<h1>Hello Plunker!</h1>
<div class="container">
<div class="sideBar">sideBar</div>
<div class="content">content</div>
</div>
*
{
margin:0;padding:0;
}
html,body,.container, .sideBar, .content
{
height: 100%;
}
h1
{
height: 50px;
line-height: 50px;
}
.container
{
margin-top: -50px;
padding-top: 50px;
box-sizing: border-box;
}
.sideBar
{
float:left;
width: 100px;
background: aqua;
}
.content
{
overflow:hidden;
background: yellow;
}
C'est un peu une vieille question mais Zurb les gars ont une bonne solution pour cela.