【问题标题】:<td> specific formatting will change background color but not border color<td> 特定格式将改变背景颜色但不改变边框颜色
【发布时间】:2017-09-21 21:32:13
【问题描述】:

这把我逼疯了。

我有一个循环将表格从 php 返回到我的 html 页面。抓取发布到数据库表中的最后 30 条“消息”以及其他一些内容。我有一个基于用户设置为他们的消息背景颜色的动态颜色编码。工作正常。登录后,我想在该用户的消息上显示不同的边框颜色。即当我登录时我的消息有不同的边框颜色。如果我使用我的 if 语句来更改背景颜色而不是边框​​颜色,它会起作用。

这可以改变背景颜色:

$bgcol = 'bgcolor="#ecb3ff">'
if($uid == $userid){ $bgcol = 'bgcolor="white">';}
echo "<tr><td width='66%' " . $bgcol . $msg . "</td></tr>";

这不起作用:

$bgcol = 'bgcolor="#ecb3ff">'
if($uid == $userid){ $bgcol = 'borderColor="black" ' . $bgcol;}
echo "<tr><td width='66%' " . $bgcol . $msg . "</td></tr>";

【问题讨论】:

    标签: html css dom html-table


    【解决方案1】:

    如何使用这样的内联样式:

    $bgcol = 'background-color:#ecb3ff;'
    if($uid == $userid){ $bgcol = 'border-color:black; '. $bgcol;}
    echo "<tr><td width='66%' style='". $bgcol ."'>". $msg ."</td></tr>";
    

    【讨论】:

    • 我也试过了,但无济于事。我什至尝试更改字体颜色等其他一些属性来测试。它只会为我改变 bgcolor。但我硬编码到最后一行的宽度仍然有效
    • 我在每一行都有底部边框。它甚至会更改符合 if 语句条件的行的 bgcolor 并跳过其他属性。我..
    • if($usertype == "2"){$bgcol = 'outline="2px solid white" '. 'bgcolor="white">';}
    【解决方案2】:

    您最终是否尝试过使用类?

    $class = '';
    if($uid == $userid){ $class = 'bg1';}
    echo "<tr><td width='66%' class='". $class ."'>". $msg ."</td></tr>";
    

    CSS

    td {
      background-color: #ecb3ff;
      border-bottom: 2px solid white;
    }
    
    td.bg1 {
      background-color: black;
      border-color: black;
    }
    

    【讨论】:

    • 我也试试看!我单独切换背景颜色的原因是,在一种模式下,用户设置了他们的背景颜色,这就是它在消息流中的显示方式。在另一种模式下,用户只能从一个或多个“标签”中提取消息,如果是多个,则消息会按标签进行颜色编码,以便于区分。
    • 但是我也可以对类做同样的事情。单独使用 bgcolor 并尝试更改类以获取边框。稍后我试一试时会跟进。谢谢!
    猜你喜欢
    • 2011-04-16
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 2014-01-12
    相关资源
    最近更新 更多