2016-07-13 11 views
-2

私はクラスとのリンクがあり、PHPを使ってそのクラスのスタイルを変更したいと思います。私が思いつくことができる唯一の解決策は、声明をエコーすることでしたが、避けられない場合は、そうしないでください。これを行うより良い方法はありますか?PHPのクラスのスタイルを変更する

if ($page_number) 
{ 
    echo "<style type='text/css'> 
     .pagination a:nth-child(".$page_number.") { 
      display:inline-block; 
      padding: 0 3px; 
      border: #AAAAEE thin solid; 
      background-color: #2266BB; 
      color: #ffffff !important; 
      cursor:default; 
     } 
    </style>"; 
} 
+4

JavascriptまたはCSSではなくPHPでスタイルを変更したいのはなぜですか?つまり、サーバー上で評価されなければならない「条件」に固有の何かがありますか? – BeetleJuice

+2

正しい方法は、変化するCSSを使ってクラスを追加することですが、CSSではなくPHPでクラスを作成することです。それは不合理な非感覚です –

+0

条件が変わるので番号も変わります。私は親の下の正しい要素を対象にするためにPHPで行う必要があります。 –

答えて

1

ので、同様にあなたは、現在のページのためのあなたのCSSに予め設計されたクラスがあるでしょう:

.currenPage { 
     display:inline-block; 
     padding: 0 3px; 
     border: #AAAAEE thin solid; 
     background-color: #2266BB; 
     color: #ffffff !important; 
     cursor:default; 
    } 

、あなたはJavaScriptやPHPのいずれかで要素にこのクラスを追加します(私はjsのをお勧めします)

PHP:

$class=""; 
if(//page is current){ 
    $class="currentPage"; 
} 
echo("<li><a href='#' class=".$class.">Page N</a></li>"); 

JS:

var currentPageLinkEl = document.getElementById("pageNlink"); 
currentPageEl.className += "currentPage"; 

希望しますか?

1

これは、スタイルが自動的に条件 Iを満たしているリンクに適用される

.current_page{ 
padding: 0 3px; 
      border: #AAAAEE thin solid; 
      background-color: #2266BB; 
      color: #ffffff !important; 
      cursor:default; 
} 

あなたはすでにあなたのCSSファイルでこれをスタイリングしている必要があり

<li class="pagination <?php if(condition){ echo 'current_page'; } ?>">1</li> 
<li class="pagination <?php if(condition){ echo 'current_page'; } ?>">1</li> 
<li class="pagination <?php if(condition){ echo 'current_page'; } ?>">1</li> 

良い方法ですこれがあなたが探しているものだと願っています。

+0

私は実際にHTMLにコードを手に入れることができないので、私はPHPでそれを試しています。私はHTMLにアクセスできないため、私はそれを別にやろうとしています。 HTMLを変更することができたら、私はすでにこのようにしていました。 –

関連する問題