【问题标题】:set background color with div用 div 设置背景颜色
【发布时间】:2015-02-21 00:30:41
【问题描述】:

我有一个具有特定背景颜色的 div,并且我页面中的数据具有相同的背景颜色。我想在整个页面上显示相同的颜色。请找到小提琴:http://jsfiddle.net/0w9yo8x6/48/。 红色仅在数据出现之前可见,如果我添加额外的表格,我们可以看到背景红色,我想以相同的红色显示整个页面,无论数据是否存在。请建议。我不应该将 bgcolor 赋予 body 标签。即使数据不可用,我应该对现有的 css 进行哪些修改才能将红色显示到整个页面。

示例代码:

<div class="myDiv">  

<br/><br><br>
<table border="1">
<tr>
<td class="myData">Data1</td>
</tr>

<tr>
<td class="myData">Data2</td>
</tr>

<tr>
<td class="myData">Data3</td>
</tr>
</table>
<br>
    <table border="1">
<tr>
<td class="myData">Data1</td>
</tr>

<tr>
<td class="myData">Data2</td>
</tr>

<tr>
<td class="myData">Data3</td>
</tr>
</table>

CSS 代码:

.myDiv{
    width:100%;
    height:100%;
    background:red;
}

--编辑-- 如前所述,我不应该使用 body bgcolor 。使用 myDiv 的现有 CSS 代码,我想将整个页面的 90% 显示为红色。谢谢。

【问题讨论】:

  • 带js document.bgColor='red';
  • 我已更新my answer 为您的编辑提供可能的解决方案。

标签: html css


【解决方案1】:

将您的代码放在&lt;body&gt; 标记中,并在该主体标记上使用css 以获得background:red。

Here 是一个 jsfiddle。

来自链接:

<body>
//your html
</body>

css 是

body {
    background:red;
}

更新:

根据您的更新调整,您可以通过用 body 标签包围 myDiv 并将该 body 标签的高度设置为 100%,然后设置 myDiv 的高度来实现 div 的背景为 90% 红色到 90%。

新的 CSS 看起来像这样:

.myDiv{
    width:100%;
    height:90%;
    background:red;
}
html, body {
    height: 100%;
}

Updated fiddle

【讨论】:

  • 你赢了我一分钟,打得很好。
【解决方案2】:

Fiddle

将此代码添加到您的 javascript:

原版javascript:

document.getElementsByClassName("myDiv")[0].style.height = Math.max(window.innerHeight, document.body.offsetHeight) + "px";

jQuery:

$(".myDiv").css({height: Math.max(window.innerHeight, document.body.offsetHeight)});

【讨论】:

  • 已经发过两次了!
  • 感谢您的所有建议和 cmets,但正如我在帖子中提到的,我不应该使用 body bgcolor,因为我必须使用这个 css 代码来满足我的项目需求。
【解决方案3】:

试试

div.myDiv{
    background-color: red;
}

我在使用 div 的另一个属性时遇到了这样的问题,这解决了它。

【讨论】:

    【解决方案4】:

    只需将其添加到您的 CSS 中?

       body{
        background-color:red;
       }
    

    【讨论】:

      【解决方案5】:

      您应该将主体宽度和高度定义为 100%。 所以请尝试以下操作:

      body{
          width:100%;
          height:100%;
          padding:0;
          margin:0;
      }
      
      .myDiv{
          width:100%;
          height:100%;
          background:red;
      }
      

      【讨论】:

      • 使用上面的代码,红色只显示到数据存在,但即使数据不存在,我也想显示页面的 90%。
      • 我在 3 种不同的浏览器中测试了代码,它可以工作。你在 jsfiddle 里面工作吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 2017-12-20
      • 2023-03-25
      • 2014-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多