用最小宽度固定位置?

时间:2018-12-08 20:52:38

标签: html css fixed

我正在尝试为使用固定位置的div添加最小宽度。我不确定如果移除固定位置,下面的代码是否可以正常工作。

我要实现的目的是保护红色区域(包含链接)中的文本不被调整到某些200px以下的大小;

编辑此为完整代码

<!doctype html>
<html>
<head>
<style>
#header{
height:60px;
width:100%;
background-color:#000;
position:fixed;
top:0;
left:0;
}

#leftdiv{
    width:15%;
    height:200px;
    background-color:#ED6062;
    float:left;
    position:fixed;
    left:0;
    top:60px;   
    min-width:100px;
    }
#middlediv{
    width:25%;
    height:200px;
    background-color:#F0E92B;
    float:left;
    position:fixed; 
    left:15%;
    top:60px;
    }
#rightdiv{
    width:60%;
    height:200px;
    background-color:#26D978;
    float:left;
    position:fixed;
    left:40%;
    top:60px;   
    }       


</style>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>

<div id='header'></div>
<div id='leftdiv'>Contains links</div>
<div id='middlediv'></div>
<div id='rightdiv'></div>

</body>
</html>

JSFiddle https://jsfiddle.net/85mpvxo7/

1 个答案:

答案 0 :(得分:0)

min-width可以正常工作,您的问题是#middlediv具有left: 15%并位于#leftdiv的上方,而#leftdiv实际上比您可以在#middlediv后面看到它。

我不确定是否满足您的所有要求,但是请检查这一点,我使用的是带有网格显示的div包装器,因此左侧网格项的宽度为max-content。然后其他两个div需要使用其余空间,因此我将它们放在另一个div中。 https://jsfiddle.net/n3o679pf/

编辑:使用包装器https://jsfiddle.net/n3o679pf/2/上的柔韧性可以更清洁,因此不需要使用网格放置的那个丑陋的#therest div。

<div id='header'></div>
<div id='wrapper'>
  <div id='leftdiv'>Contains links</div>
  <div id='middlediv'></div>
  <div id='rightdiv'></div>
</div>

和CSS

#wrapper {
  display: flex;
  width: 100%;
  position: fixed;
  top:60px;
  margin: 0;
}
#leftdiv{
    height:200px;
    background-color:#ED6062;
    min-width:200px;
}
#middlediv{
    width:35%;
    height:200px;
    background-color:#F0E92B;
}
#rightdiv{
    width:65%;
    height:200px;
    background-color:#26D978;
}