为Web开发人员,最常见的事情之一就是更改HTML元素的背景颜色。但是,如果您不了解如何使用CSS background-color属性,可能会产生混淆。在本文中,我们讨论以下几点
1.HTML元素的默认背景色值
2.如何更改div的背景颜色,这是非常常见的元素
3.该background-color属性会影响CSS盒子模型的哪些部分,以及
4.此属性可以采用的不同值。
div的默认背景颜色是transparent。因此,如果您不指定div的背景色,它将显示其父元素的背景色。
在此示例中,我们将更改以下div的背景颜色。
<div class="div-1"> I love HTML </div>
<div class="div-2"> I love CSS </div>
<div class="div-3"> I love JavaScript </div>
没有任何样式,它将在视觉上转换为以下内容。
让我们通过向类中添加样式来更改div的背景颜色。您可以通过尝试HTML文件中的示例进行操作。
<style>
.div-1 {
background-color: #EBEBEB;
}
.div-2 {
background-color: #ABBAEA;
}
.div-3 {
background-color: #FBD603;
}
</style>
<body>
<div class="div-1"> I love HTML </div>
<div class="div-2"> I love CSS </div>
<div class="div-3"> I love JavaScript </div>
</body>
这将导致以下结果:
看!我们已成功更改了该div的背景颜色。接下来,让我们更多地了解此属性。让我们看看background-color属性如何影响CSS-box模型的各个部分。
根据CSS框模型,所有HTML元素都可以建模为矩形框。每个盒子由4个部分组成,如下图所示。
如果您不熟悉Box模型,则可以查阅相关资料。问题是,当您更改div的背景颜色时,Box模型的哪一部分会受到影响?简单的答案是填充区域和内容区域。让我们通过一个例子来确认这一点。
<style>
body {
background-color: #ABBAEA;
}
div {
height: 200px;
margin: 20px;
border: 5px solid;
background-color: #FBD603;
}
</style>
<body>
<div>
<p>This is the parent div which contains the div we are testing</p>
<div>
<p>This example shows that changing the background color of a div does not affect the border and margin of the div.</p>
</div>
</div>
</body>
这将导致:
从上面的示例中,我们可以看到空白区域和边框区域不受背景颜色变化的影响。我们可以使用border-color属性更改边框的颜色。边距区域保持透明,并反映父容器的背景色。
最后,让我们讨论background-color属性可以采用的值。
就像color属性一样,background-color属性可以采用六个不同的值。让我们通过一个示例考虑三个最常见的值。在示例中,我们将div的背景色设置为具有不同值的红色。
<style>
/* Keyword value/name of color */
.div-1 {
background-color: red;
}
/* Hexadecimal value */
.div-2 {
background-color: #FF0000;
}
/* RGB value */
.div-3 {
background-color: rgb(255,0,0);
}
</style>
<body>
<div class="div-1">
<p>The background property can take six different values.</p>
</div>
<div class="div-2">
<p>The background property can take six different values.</p>
</div>
<div class="div-3">
<p>The background property can take six different values.</p>
</div>
</body>
注意,它们的结果都是相同的背景色。
该background-color属性可以采用的其他值包括HSL值,特殊关键字值和全局值。这是每个例子。
/* HSL value */
background-color: hsl(0, 100%, 25%;
/* Special keyword values */
background-color: currentcolor;
background-color: transparent;
/* Global values */
background-color: inherit;
background-color: initial;
background-color: unset;
设置元素的背景色时,重要的是要确保背景色和其包含的文本颜色的对比度足够高。这是为了确保弱视人士可以轻松阅读文本。
第一个div的背景颜色与文本颜色之间的对比度不够高,每个人都看不到。因此,除非您是唯一正在使用的网站,并且您的视力非常好,否则应避免这种颜色组合。
第二个div在背景颜色和文本颜色之间具有更好的对比度。因此,它使人们更容易阅读和阅读。
在本文中,我们看到了如何更改div的背景颜色。我们还讨论了CSS Box模型的哪些部分受背景颜色变化的影响。最后,我们讨论了background-color属性可以采用的值。
希望本文对您有所帮助。谢谢阅读。
内容首发于工粽号:程序员大澈,每日分享一段优质代码片段,欢迎关注和投稿!
大家好,我是大澈!
本文约 1400+ 字,整篇阅读约需 2 分钟。
今天分享一段优质 CSS 代码片段,让文本和背景色混合产生一种独特的效果,就像下图这种。
老规矩,先阅读代码片段并思考,再看代码解析再思考,最后评论区留下你的见解!
<div class="banner">
<h1 class="title">每日分享一段优质代码片段,欢迎关注与投稿!</h1>
</div>
.banner {
height: 230px;
background-image: url(./img/banner.png);
background-repeat: no-repeat;
background-size: 100% 230px;
line-height: 230px;
text-align: center;
}
.title {
margin: 0;
color: #fff;
font-size: 50px;
/* 关键点 */
mix-blend-mode: difference;
}
分享原因
这段代码展示了如何使用 CSS 和 HTML 创建一个带有背景图片和标题文本的横幅(banner),并且通过 mix-blend-mode: difference; 为标题文本添加混合模式效果。
mix-blend-mode 属性可以为元素设置混合模式,使其颜色与背景颜色混合,从而创建有趣的视觉效果。
这个效果在设计中很常见,能增加页面的视觉吸引力,强调和突出文本内容。
代码解析
1. banner 类
设置背景元素基础样式。
定义背景图片,以及让文本垂直水平居中对齐。
2. mix-blend-mode: difference;
这是一个关键设置。
使用了 mix-blend-mode: difference; ,这意味着标题文字的颜色将与其父元素(.banner)的背景颜色进行差值计算,产生类似于反相的效果。
在这种情况下,由于父元素(.banner)的背景是白色,而文字原本的颜色是白色,通过差值计算后,文字颜色就变成了黑色,从而让白色文字在白色背景上也能够显示。
3. mix-blend-mode 属性详解
mix-blend-mode CSS 属性描述了元素的内容应该与其直系父元素的内容和元素的背景如何混合。
它允许创建各种视觉效果,例如半透明效果、阴影、图片蒙版等。
以下是兼容性:
以下是一些常见的属性值:
normal:这是默认值,使用正常的颜色混合模式,不产生特殊混合效果。
multiply:将两个颜色的值相乘,会得到一个更暗的颜色,常用于创建阴影效果。
screen:将两个颜色的值相加,然后减去相乘的值,会得到一个更亮的颜色,可用于创建高光效果。
overlay:根据背景颜色的亮度来选择颜色混合模式。如果背景颜色较暗,则使用 multiply 模式;如果背景颜色较亮,则使用 screen 模式。
darken:将两个颜色的值进行比较,使用较暗的那个颜色。
lighten:与 darken 相反,使用较亮的那个颜色。
color-dodge:将前景色分解为 RGB 分量,并将每个分量分别除以(1 减去背景色的对应分量),然后将每个分量限制在 0 到 1 之间,并使用限制后的前景色作为混合色。这种模式会使颜色变亮。
color-burn:将前景色分解为 RGB 分量,并将每个分量分别除以背景色的对应分量,然后将每个分量限制在 0 到 1 之间,并使用限制后的前景色作为混合色。它会使颜色变暗。
difference:将前景色减去背景色的值,并取绝对值,会导致一种反相的效果。
exclusion:将前景色和背景色的值相加,然后减去相乘的值的两倍,常用于创建反相效果,但其对比度比 difference 更低,颜色更柔和。
hue:将前景色的色相(hue)与背景色的饱和度(saturation)和亮度(lightness)混合,可在不改变亮度和饱和度的情况下改变颜色。
saturation:将前景色的饱和度与背景色的色相和亮度混合,用于在不改变颜色的情况下改变饱和度。
color:将前景色的色相、饱和度和亮度与背景色混合,会在改变所有颜色属性的情况下改变前景色的颜色。
luminosity:将前景色的亮度与背景色的色相和饱和度混合,可在不改变颜色的情况下改变亮度。
景颜色,作为页面设计元素中不可或缺的一部分,对页面整体效果有重大影响。在 CSS 中,使用 background-color 属性来指定元素的背景颜色。通过正确使用 background color,可以提高页面美观,并为用户提供最佳的体验。
设置背景色
在 CSS 中,使用以下语法设置背景色:
css
.element {
background-color: #color;
}
其中:
* .element 是要设置背景色的元素的 CSS 选择器。
* #color 是指定背景色的颜色值,例如 #0 viciss红色。
常见的背景色值
在 CSS 中有许多预定义的背景色值,例如:
* 白色:#ffffff
* 黑色:#0 Kün黑色
* 蓝色:#0 Kün蓝色
* Greens:#38b54 vicissteen
* 红色:#d32929
背景色组合
背景色组合可以 create 出不同的视觉效果。以下是一些流行的背景色组合:
* 蓝色与白色:经典、安静
* 黑色与白色:精致、现代
* 干本色:经典、专业
* 青色与黄绿:活力、兴奋
背景色阴影
使用背景阴影可以为页面添加深度和视觉兴趣。
css
.element {
background-color: #6 Kün灰色;
box-shadow: 0 vicissteen 5px 5px #888;
}
背景渐变
使用背景渐变可以创造出平滑的过渡效果。
css
.element {
background: linear-gradient(to right, #50 vicissteen 0 Kün灰色);
}
结论
在 CSS 中使用 background color 属性可以轻松设置页面元素的背景色。通过选择合适的背景色值、组合和效果,可以为页面创造出最佳的视觉体验。
*请认真填写需求信息,我们会在24小时内与您取得联系。