首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据背景颜色设置文本的颜色

根据背景颜色设置文本的颜色
EN

Stack Overflow用户
提问于 2012-01-24 20:08:22
回答 3查看 168关注 0票数 0

我有一个动态着色的div,在那个div里面有一个文本。我希望文本的颜色将是白色或黑色,这取决于div颜色的深浅。

例如,如果div的颜色是深棕色,我希望文本的颜色是白色。如果div的颜色是黄色,我希望文本的颜色是黑色。

如何在HTML/CSS/PHP中做到这一点?

哈维尔

EN

回答 3

Stack Overflow用户

发布于 2012-01-24 20:57:04

如何设置Div的颜色?道格所说的延伸。

代码语言:javascript
复制
var myDiv = document.getElementById("yourDynamicDiv");
myDiv.style.color = "black";

如果您手动设置颜色,请同时添加该颜色。

瑞克

票数 0
EN

Stack Overflow用户

发布于 2012-01-24 21:05:32

此函数将采用任何六色,并根据对比度较高的颜色返回白色或黑色。

代码语言:javascript
复制
function TextContrast($hexcolor){

$hexcolor = str_replace("#","","$hexcolor");

if(!$hexcolor){
$hexcolor = "FFFFFF";
}

    $r = hexdec(substr($hexcolor,0,2));
    $g = hexdec(substr($hexcolor,2,2));
    $b = hexdec(substr($hexcolor,4,2));
    $yiq = (($r*299)+($g*587)+($b*114))/1000;
    if($yiq >= 128){
        $text_color = "#000000";
        }
        else{
        $text_color = "#FFFFFF";
        }

} // end text contrast function

对于样式表,可以将.css扩展名更改为.php并添加

代码语言:javascript
复制
.custom_div {background: #FF00FF;}
<?php TextContrast("FF00FF"); ?>
.custom_div {color: <?php echo $text_color; ?>
票数 0
EN

Stack Overflow用户

发布于 2012-01-24 21:13:25

好的,那么,颜色是预先确定的,还是用户将生成它?如果你使用预定的颜色,你可以为父元素设置类,而子元素现在可以通过css来定位并进行相应的调整。下面是一个关于如何实现的示例。

HTML

代码语言:javascript
复制
<div class="parent">
   <div class="child"> Enter Content Here</div>
</div>

CSS

代码语言:javascript
复制
.black-bg {
   background:#000000;
}

.black-bg div {
   color:#FFFFFF;
}

.white-bg {
   background:#FFFFFF;
}

.white-bg div {
   color:#000000;
}

每次更改父对象上的类时,都会强制浏览器重新呈现该区域,从而启用动态样式。

我不知道php,但你可以在JS中这样做:

JS (jquery)

代码语言:javascript
复制
   if ( x === condition-1 ) {
      $(".parent").addClass(".black-bg");
   } else if ( x === condition-2 ) {
      $(".parent").addClass(".white-bg"); 
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8986544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档