Element mit bestimmtem Inhalt formatieren

Frezl

Erfahrenes Mitglied
Salü allerseits!

Ich suche dringend eine Möglichkeit, ein Element mit bestimmtem Inhalt zu formatieren. Ich weiß, dass das der Philosophie von CSS widerspricht. Leider ist die (ziemlich grausige) HTML-Struktur der Seite vorgegeben und ich muss versuchen, mit CSS das Beste draus zu machen.

Konkret geht es darum, ein Login-Formular auszublenden. Die Struktur der Seite sieht an dieser Stelle so aus:

HTML:
<ul class="mainmenu">
    <li class="mainmenu-header">BROWSE</li>
    <li><ul class="mainmenu">

    <li class="mainmenu"><a href="http://***/index.php/topics">My Topics</a></li>
        <li class="mainmenu"><a href="http://***/index.php/topics/all">All Topics</a></li>
    <li class="mainmenu"><a href="http://***/index.php/publications">All Publications</a></li>
    <li class="mainmenu"><a href="http://***/index.php/authors">All Authors</a></li>
    <li class="mainmenu"><a href="http://***/index.php/keywords">All Keywords</a></li>
    <li class="mainmenu"><a href="http://***/index.php/publications/unassigned">Unassigned</a></li>

    <li class="mainmenu"><a href="http://***/index.php/publications/showlist/recent">Recent</a></li>
    <li class="mainmenu"><a href="http://***/index.php/search">Search</a></li>

    </ul></li>
    <li class="mainmenu-spacer"></li>
    <li class="mainmenu-header">EXPORT</li>
    <li><ul class="mainmenu">
    <li class="mainmenu"><a href="http://***/index.php/export">Export all publications</a></li>

        </ul></li>

        
    <li class="mainmenu-spacer"></li>
    <li class="mainmenu-header">SITE</li>
    <li><ul class="mainmenu">
    <li class="mainmenu"><a href="http://***/index.php/help">Help</a></li>
    <li class="mainmenu"><a href="http://***/index.php/help/viewhelp/about">About this site</a></li>
    </ul></li>

    <li class="mainmenu-spacer"></li>
	    
      <li class="mainmenu-spacer"></li>
      <li class="mainmenu-header">GUEST USER</li>
<li class='mainmenu'>guest</li>	    
    <li class="mainmenu-spacer"></li>
    <li class="mainmenu-header">LOGIN</li>
<li><form action="http://***" method="post">      <table class='loginbox'>
        <tr>

          <td>Name:</td>
        </tr>
        <tr>
          <td><input type=text name=loginName size=10></td>
        </tr>
        <tr>
          <td>Password:</td>
        </tr>

        <tr>
          <td><input type=password name=loginPass size=10></td>
        </tr>
        <tr>
          <td><input title='Remember me' name=remember type=checkbox><p align=right><input type=submit value='Login'></td>
        </tr>
      </table>
</form></li>  </ul>

Die Box selbst konnte ich mit " table.loginbox {display:none; }" ausblenden. Aber ich habs mit allen Tricks (Attribut-Selektoren, Pseudoklassen wie :last-child, etc." nicht geschafft, das li-Element mit dem Inhalt "LOGIN" auszublenden. Ich meine aber, dass man das in CSS analog zum JS-Selektor "text" abhängig vom Inhalt ansprechen kann.

li[text="LOGIN"] {display:none; } bewirkt aber leider nix :-(

Hat mir bitte jemand nen Tipp, wie ich das Problem lösen könnte?!

Viele Grüße,
Frezl
 
Zuletzt bearbeitet:
Wäre mir nicht bekannt das man den Text innerhalb einer DIV per CSS ansprechen kann. Ohne den Code verändern zu dürfen gibt es glaube ich keine große Möglichkeit den Inhalt auszublenden.

So wie du es probiert hast wäre es mehr ein Attribut das du ansprechen möchtest. Das kann man bei <input> zum Beispiel machen:
HTML:
.class input[type=submit]{display:none;}

Darfst du wirklich den Code keinswegs verändern, nicht ein Stück? Sonst könntest du es per <style> regeln oder aber du setzt LOGIN in einen <span> oder <font> Tag!
 
Dürfen würd ich das schon, aber ich wills aus mehreren Gründen net. Zum einen, hab ich keine Lust, mich durch dieses mir völlig unbekannte CMS durchzukramen, bis ich die betreffende Code-Zeile gefunden habe. Zum anderen steh ich nicht auf solche Lösungen, weil sie immer nur bis zum nächsten Update halten und das dient dann immer als Grund, das Update rauszuzögern, bis man irgendwann nach Jahren immer noch ne alte Gurke am Laufen hat :-(

Hat jemand ne Idee, wie ich das Entsprechende Listenelement vll durch eine clevere Verschachtelung der Operatoren + * > oder den Pesudoklassen ansprechen könnte? Bei mir sind bis jetzt alle getesteten Kombinationen fehlgeschlagen :-(

Viele Grüße und vielen Dank,
Frezl
 
Naja, dann setz halt einfach ein <font> tag oder ein <p> tag und sprech diesen Tag zusammen mit der Classe an.

.class font{}
.class p{}

etc...!
 
Wie gesagt: ich möchte am Code des CMS nix ändern. Das muss irgendwie übers CSS lösbar sein, oder das CMS fällt für mich leider aus :-(

Ma ganz erhlich: Vom HTML-Markup dieses CMS (Aigaion zur Literaturverwaltung) halt ich absolut nix. So was grausames hab ich selten gesehn. Aber die Auswahl ist in dieser Sparte leider nicht sehr groß. Und was die Funktionen betrifft ist Aigaion halt das, was ich brauch...

Viele Grüße,
Frezl
 
Zurück