2016-07-13 5 views
-2

Ich habe eine Verbindung mit einer Klasse und ich möchte den Stil dieser Klasse mit PHP ändern. Die einzige Lösung, die ich mir vorstellen konnte, war, eine Aussage zu wiederholen, aber das würde ich lieber nicht tun, wenn es vermeidbar wäre. Gibt es einen besseren Weg, dies zu tun?Ändern der Stil einer Klasse in 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

Warum möchten Sie den Stil mit PHP anstatt Javascript oder nur CSS ändern? Ich meine, gibt es etwas Bestimmtes über 'condition', dass es auf dem Server ausgewertet werden muss? – BeetleJuice

+2

Der korrekte Weg besteht darin, eine zusätzliche Klasse mit dem CSS zu erstellen, die sich ändert, aber in CSS, nicht in PHP. Es ist absurd Unsinn –

+0

Der Zustand wird sich ändern und so wird die Nummer. Ich muss es mit php tun, um das korrekte Element unter dem Elternteil anzusprechen. –

Antwort

1

Sie werden eine Klasse in Ihrem CSS für die aktuelle Seite vorge entworfen haben, etwa so:

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

und Sie werden diese Klasse auf das Element hinzufügen entweder mit JavaScript oder PHP (i js empfehlen

)

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"; 

Hoffe es hilft

1

Dies ist eine bessere Art und Weise

<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> 

Sie bereits diese

in Ihrer CSS-Datei gestylt haben sollte
.current_page{ 
padding: 0 3px; 
      border: #AAAAEE thin solid; 
      background-color: #2266BB; 
      color: #ffffff !important; 
      cursor:default; 
} 

Der Stil automatisch auf den Link angelegt wird, die den I Bedingung erfüllt hoffe, dass du das suchst.

+0

Ich kann den Code eigentlich nicht in den HTML Code bekommen, deshalb versuche ich es per PHP. Ich habe keinen Zugriff auf den HTML-Code, weshalb ich versuche, es separat zu machen. Wenn Sie den HTML-Code ändern könnten, hätte ich es schon so gemacht. –

Verwandte Themen