CSS 100%宽度而不是auto

时间:2017-03-23 15:32:46

标签: jquery html css popup

我正在制作通知弹出窗口,从左下方弹出。有2个div:容器"命名" .divPopups和名为.divPopupNote的弹出窗口。他们的CSS是这样的:

.divPopups{
background-color: transparent;
position: fixed;
top: auto;
right: auto;
}

.divPopups .divPopupNote {
    opacity: 0;
    padding: 10px;
    margin: 10px;
    background-color: orange;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
}

另外,我有一个Global.css,其中我说:

body, header, footer, div, p, table,
 th, tr, td, ul, ol, li, input, button, img, select, label, iframe {
    padding: 0;
    margin: 0;
    outline: 0;
    border: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: inherit;
    font: inherit;
}

首先包含Global.css,因此每个其他类都会覆盖这些属性。

我追加弹出窗口的方式:

    // SHOW POPUP
    $(".divPopups").append('<div class="divPopupNote errNo' + 
    errorNo + '" onclick="$(this).remove();"' +
    'style="background-color:' + backgroundColor + ';">' + message + '</div>');

// SLIDE IN FROM BOTTOM
$(".errNo" + errorNo).css("margin-bottom", -$(".errNo" + errorNo).outerHeight() + "px");
$(".errNo" + errorNo).animate({ opacity: '1', marginBottom: '10px' }, popupSpeed);

我得到的结果: enter image description here

想要的结果: enter image description here

如果最大的弹出窗口位于较小的弹出窗口之上,我会得到相同的结果。

我已尝试删除paddingmargin,将leftrignt设置为自动,使用jQuery设置$(popupID).width($(popupID).width());,执行相同但中间使用临时变量。如果我将width设置为自动,则不会发生任何变化。如果我将width设置为(假设)200px,则所有弹出广告的宽度为 200px,但我希望他们的width为{ {1}}。

我不明白是什么让弹出窗口的宽度与最大弹出窗口的宽度相同。

1 个答案:

答案 0 :(得分:0)

要回答您对该问题的评论,您可以执行以下操作:

你需要3个div

1 div持有所有笔记(CSS:位置:固定;底部:0;左:0)

1 div来包装注释(CSS:display:block;),以便它们不会并排排列。

1 div为您的文字(CSS:display:inline-block;)

Take a look at this fiddle

HTML

<div class="divPopups">
  <div class="wrapper">
    <div class="divPopupNote">Test 1</div>
  </div>

  <div class="wrapper">
    <div class="divPopupNote">Test 2</div>
  </div>
</div>

CSS

.divPopups {
  background-color: transparent;
  position: fixed;
  bottom: 0;
  left: 0;
}

.divPopups .divPopupNote {
  opacity: 1;
  padding: 10px;
  margin: 10px;
  background-color: orange;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}

.wrapper {
  width:100%;
  display:block;
}