【问题标题】:Case sensitive CSS formatting区分大小写的 CSS 格式
【发布时间】:2013-10-31 11:25:52
【问题描述】:

我正在使用 PHP 代码生成一个 html 表,以从 .csv 表中获取内容。

现在我希望每个特定单元格的格式取决于它的内容。

我(可能很糟糕)的伪代码尝试:

if (cell content == "green")
    use #green-css-style
if else (cell content == "blue")
    use #blue-css-style

等等。

我只希望它“收听”有限数量的不同内容(大约 5 个)。

这是我的 PHP 表格生成器:

 <?php 

    $hasTitle = true; 

    echo '<table id="dataTable" class="table">';


    $handle = fopen("data.csv", "r"); 
    $start = 0; 
    ;
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)  
    { 

        echo '<tr>' . "\n"; 

      for ( $x = 0; $x < count($data); $x++) 
        { 
        if ($start == 0 && $hasTitle == true)

            echo '<th title="ignore_case">'.$data[$x].'</th>' . "\n";



        else 

            echo '<td>'.$data[$x].'</td>' . "\n";

        } 

        $start++; 

        echo '</tr>' . "\n"; 

    } 

    fclose($handle); 
    ;
    echo '</table>' . '<br style="clear: both;">'; 

    ?>

非常欢迎对此提供任何帮助,可根据要求提供更多详细信息! :)

【问题讨论】:

  • 查找“switch语句”。

标签: php html css html-table case-sensitive


【解决方案1】:

只需在 php 代码中的 td 元素中添加一个类。您无法访问 css 中元素的内容。

switch($data[x]) {
  case 'green': $class = 'green'; break;
  case 'blue': $class = 'blue'; break;
  //...
  default: $class = ''; break;
}
echo '<td class="'.$class.'">'.$data[$x].'</td>' . "\n";

然后您可以使用以下 CSS 代码:

td.green { color: green; }
td.blue { color: blue; }

【讨论】:

  • 这对我来说似乎是正确的,但它完全破坏了我的表格布局并将所有行加倍甚至三倍?
  • 没关系,我找到了问题 :) 非常感谢您的大力帮助!
【解决方案2】:

您可以使用开关。试试这样:

switch(cell_content){
    case "green":
         // something
         break;
    case "blue":
         // something
         break;
    case "red":
         //something
         break;
    default:
         //something
         break;
}

【讨论】:

  • 谢谢,其他人速度有点快,但我一直在寻找!
【解决方案3】:

你能提供一些真实的代码吗?

你通常需要定义不同的 css 类并将它们添加到适当的标签中

改用此代码:

$hasTitle = true; 

$result_code = '<table id="dataTable" class="table">';


$handle = fopen("data.csv", "r"); 
$start = 0; 
;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)  
{ 
   $result_code .= '<tr>' . "\n"; 
   $css_class_name = '';
  for ( $x = 0; $x < count($data); $x++) 
    { 
    if ($start == 0 && $hasTitle == true)

        switch(strtolower($data[$x])) {
            case 'green': 
                $css_class_name = 'class-green';
                break;
           case 'red': 
                $css_class_name = 'class-red';
                break;
         default: 
               $css_class_name = 'DEFAULT VALUE';
               break;
       }

       $result_code .= '<th title="ignore_case" class="' . $css_class_name . '">'.$data[$x] . '</th>' . "\n";

    else 

        $result_code .= '<td>'.$data[$x].'</td>' . "\n";

    } 

    $start++; 

   $result_code .= '</tr>' . "\n"; 

} 
echo $result_code;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2018-02-14
    • 2011-03-08
    • 1970-01-01
    • 2011-11-25
    • 2012-12-01
    • 2013-03-06
    相关资源
    最近更新 更多