2010-04-23 11 views
6

Ich habe eine Sequenz von Elementen und die letzte hat css "float: left".CSS: verschiebe ein "float: right" -Element nach oben (um mit dem ersten Element der Liste übereinzustimmen)

Ich möchte es auf der gleichen Höhe des ersten Elements und nicht auf der Unterseite der Liste anzeigen. (Ich kann den HTML-Code nicht ändern, also ist es der letzte in der Liste).

Gleichzeitig möchte ich es auf der rechten Seite behalten. Wie kann ich CSS erstellen?

dank

Code:

<div class="field field-type-text field-field-year"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Year:&nbsp;</div> 
        2009  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-where"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Where:&nbsp;</div> 
        Musée Rath, Geneva  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-when"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       When:&nbsp;</div> 
        25.8 – 27.9.2009  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-editor"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Editor:&nbsp;</div> 
        Blabla Blabla  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-material"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Material/techniques:&nbsp;</div> 
        contemporary art installations  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-dimension"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Dimension:&nbsp;</div> 
        2 floors in a neoclassical building  </div> 
     </div> 
</div> 
<div class="field field-type-text field-field-artists"> 
    <div class="field-items"> 
      <div class="field-item odd"> 
         <div class="field-label-inline-first"> 
       Artists:&nbsp;</div> 
        Blablablabla balbalbalbalba 
     </div> 
     </div> 
</div> 


    .field-field-year, .field-field-where, .field-field-when, .field-field-editor, .field-field-material, .field-field-dimension { 
     width:300px; 
    } 



    .field-field-artists { 

     width:400px; 
     float:right; 
     clear:right; 
     top-margin: -200px; 
    } 
+0

Können Sie einen Quellcode hochladen? – Kyle

+0

benötigen Quellcode für dieses Problem beheben –

+0

Ich habe den Code – aneuryzm

Antwort

7

Sie einen kleinen Fehler haben, es machen:

.field-field-artists { 

     width:400px; 
     float:right; 
     clear:right; 
     margin-top: -200px; 
    } 
+0

verdammt, ok danke hinzugefügt. Ich habe 2 Fragen: 1) Ist es eine gute Lösung für IE? 2) Wenn sich der Inhalt der vorherigen Felder ändert, ändert sich die Höhe und der obere Rand muss aktualisiert werden, oder? Also ... gibt es eine andere Lösung? – aneuryzm

+0

Ja, es ändert sich, wenn sich die Größe ändert. Um dies besser (dynamisch) zu machen, benötigen Sie etwas Javascript, denke ich. Die andere Möglichkeit ist, die anderen in ein div zu legen und das letzte auf der rechten Seite dieser Gruppe zu schweben - aber das ändert die Struktur (ok, wenn du kontrollierst, dass ich denke) –

2

Sie könnten das letzte Feld auf der rechten Seite und die anderen nach links schweben (unter der Annahme, dass genügend horizontaler Platz vorhanden ist) oder absolute Positionierung verwenden oder die Blöcke mit Javascript neu anordnen; aber da dies anscheinend Drupal ist, kannst du nicht einfach die Feldgewichte neu konfigurieren?

Verwandte Themen