如何使用位置样式使子DIV的宽度比父DIV宽

时间:2016-12-08 05:22:41

标签: html css css3

任何人都可以帮助我吗?

下面的代码无法在响应模式下运行。

父容器放置应位于屏幕的右侧。

这是我的代码

.parent {
  position:relative;
  width:250px;
  border:1px solid red;
  height:200px;

}    
.child {
  position:absolute;
  width:100%;
  left:-100px;
  right:-100px;
  border:1px solid blue;
}
<div class="parent">
  <div class="child">
    <p>Need width 100% by screen resolution</p>
  </div>
</div>

3 个答案:

答案 0 :(得分:1)

.child {
  position:absolute;
  width:150%;
  border:1px solid blue;
}

除非您想指定位置,否则在有宽度时不需要左右值。

左:0;表示div的最左边部分位于其父div的最左边部分,而右边:0;意味着div的最右边部分位于其父div的最右边部分 - 这可以作为宽度的替代

left:0; 
right:0; 

类似于

left:0;
width:100%;

有了这个,你可以指定一个

left:0;
right:-10%;

它等同于

left:0;
width:110%;

P.S。你也可以用VW和VH而不是%。 100%表示父级的完整大小,而100vw表示视口的整个宽度。

答案 1 :(得分:1)

像这样:

&#13;
&#13;
html,body{
  margin:0; padding:0;
}
.main{
  width:980px; background:darkGreen; margin:0 auto;
}
.rel{
  width:400px; height:200px; background:#000; margin:0 auto; position:relative;
}
.abs{
  width:550px; height:100px; background:yellow; position:absolute; left:-75px; top:50px;
}
&#13;
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
  <head>
    <meta http-equiv='content-type' content='text/html;charset=utf-8' />
  </head>
<body>
  <div class='main'>
    <div class='rel'><div class='abs'></div></div>
  </div>
</body>
</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

从父级移除

private void btnAdd_Click(object sender, EventArgs e)
{
        string[] conditions={cbCategory.Text,cbName.Text,cbCondition.Text,cbVersion.Text};
        dgConditions.Rows.Add(conditions);
        addRowButton(dgConditions);
 
}

private void addRowButton(DataGridView dg)
{
        DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
        dgConditions.Columns.Add(btn);
        btn.Name = "Remove";
        btn.Text = "Remove";
        btn.UseColumnTextForButtonValue = true;
}
,在您的代码中,您在 .child 半冒号(;) >。对于在css中的每个属性后放置一个半冒号很重要。

private void btnAdd_Click(object sender, EventArgs e)
{
        string[] conditions={cbCategory.Text,cbName.Text,cbCondition.Text,cbVersion.Text};
        dgConditions.Rows.Add(conditions);
        addRowButton(dgConditions);
 
}

private void addRowButton(DataGridView dg)
{
        DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
        dgConditions.Columns.Add(btn);
        btn.Name = "Remove";
        btn.Text = "Remove";
        btn.UseColumnTextForButtonValue = true;
}
position:relative