2

検索エンジンである私のサイトは、 foreach ループなどで多くの結果を返します。

foreach ($xml->channel->item as $result) {
    $ltitle = $result->title;
    $ldesc = $result->description;
    $url = $result->displayUrl;
    $link = $result->link;

    if (strlen($ltitle) > 60)
    {
$title = substr($ltitle,0,60).'...' ;
    }
    else
    {
    $title = $ltitle;
    }

if (strlen($ldesc) > 195)
    {
$desc = substr($ldesc,0,195).'...' ;
    }
    else
    {
    $desc = $ldesc;
    }


    echo "

<br>


<div class='resultbox'>

<a class='normal' style='text-decoration:none;font-size:huge;font-weight:bold' href='$link'>$title</a><br>
<div style='padding-top:3px;padding-bottom:4px;width:580px;'>
<font style='text-decoration:none;font-size:small;font-family:Arial;'>$desc<br></font></div>
<a style='text-decoration:none;' href='$link'><font style='text-decoration:none;font-size:small;color:green;font-weight:bold;'>$url<br></font></a>

</div>
";
}

そして、上記の結果ボックスクラスは、これですべての結果をスタイルします

.resultbox
{
height:auto;
width:600px;
background-color:transparent;
font-size:19px;
padding:10px;
padding-left: 30px;
padding-right: 30px;
border-left: 6px solid #333;
}
.resultbox:hover
{
border-left: 8px solid #555;
}

境界左の色は私が変更したいものです。色コードのリストからランダムに生成またはスタイルを設定して、結果がすべて #333 ではなく #333 #555 #999 などになるようにしたいと考えています。 .... 何か案は?

4

5 に答える 5

2

ANDに変更<div class='resultbox'>し、次のような色を定義します<div class='resultbox random-color-".rand(1,YOUR_COLOR_LIMIT)."'>

.random-color-1 {
     border-left: 8px solid #555;
}
.random-color-2 {
     border-left: 8px solid #555;
}
.....
.random-color-YOUR_COLOR_LIMIT {
     border-left: 8px solid #555;
}
于 2013-05-06T10:27:24.233 に答える
1

まず、foreachloop でこれを試してください。

<?php foreach ($xml->channel->item as $result): ?>
    <?php 
       $ltitle = $result->title;
       $ldesc = $result->description;
       $url = $result->displayUrl;
       $link = $result->link;

       if (strlen($ltitle) > 60){
           $title = substr($ltitle,0,60).'...' ;
       }else{$title = $ltitle;}

       if (strlen($ldesc) > 195){
           $desc = substr($ldesc,0,195).'...' ;
       }else{$desc = $ldesc;}
    ?>



    <div class='resultbox'>

        <a class='normal' style='text-decoration:none;font-size:huge;font-weight:bold' href='<?php      echo $link ?>'><?php echo $title; ?></a>
    <br>
    <div style='padding-top:3px;padding-bottom:4px;width:580px;'>
    <font style='text-decoration:none;font-size:small;font-family:Arial;'>
        <?php echo $desc; ?><br>
    </font>
    </div>
        <a style='text-decoration:none;' href='<?php echo $link; ?>'><font style='text-  decoration:none;font-size:small;color:green;font-weight:bold;'><?php echo $url; ?><br></font>  </a>

    <?php endforeach; ?>

そうすれば、大きなエコーで遊んでいません。

ランダムな色を生成するには、php rand(); を使用できます。

例えば:

//Generate a random number between the two parameters
$randomNumber = rand(1, 3);

//Use this number to dictate what the variable color should be
if($randomNumber == 1){$color = "#333"}
elseif($randomNumber == 2){$color = "#555"}
elseif($randomNumber == 3){$color = "#999"}

次に、変数 $color をコードで使用して、いずれかの色を要素にランダムに割り当てることができます。

お役に立てれば!

-グイ

于 2013-05-06T10:37:38.973 に答える
1

変化する

<div class='resultbox'>

<div class='resultbox' style='border-left-color:$yourColorInCssFormat;'>

style 属性は、クラスの css をオーバーライドします。$yourColorInCssFormatdiv に使用する色に設定します。例えば:$yourColorInCssFormat = '#999';

于 2013-05-06T10:24:39.760 に答える