• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

CSS Selects nebeneinander darstellen

Eagle23

Neues Mitglied
Hallo zusammen,
ich bin noch ein relativer Neuling, was CSS angeht. Ich habe mir für meine Seminararbeit ein Template geladen (die Zeit ist knapp) und versuche das anzupassen. Meine Frage ist nun:
Ich versuche seit ca. 3 Stunden 3 select-Boxen nebeneinander darzustellen. Selbst bei 2 nebeneinander scheitere ich schon kläglich.
Das sind die Code-Ausschnitte, um die es geht. Der Select-Teil stammt von mir, der Rest ist fast unverändert.
Code:
/** Columns **/
.content_wrapper { overflow: hidden; width: 100% }
.content_mb_30 { margin-bottom: 30px }
.content_mb_60 { margin-bottom: 60px }

.col_2 {width:420px;}
.col_3 {width:240px;}
.col_4 {width:180px;}
.col_23 {width:580px;}
.col_34 {width:660px;}


.col_4 .img_fl { margin-right: 15px }
.col_4 .text { float: right; display: block; width: 130px }
.col_4 .text h3 { margin-bottom: 10px }
.left {float:left;}
.right {float:right;}
.no_margin_right {margin-right:0 !important;}
.margin_bottom { margin-bottom: 30px}
...
#contact_form form .input_field {
   width: 248px;
   padding: 5px;
   margin-bottom: 20px;
   color: #FFFFFF;
   background: #045688;
   border: 1px solid #1473ad;
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 12px;
}
#contact_form form .select{
   width: 248px;
   padding: 5px;
   margin-bottom: 20px;
   color: #FFFFFF;
   background: #045688;
   border: 1px solid #1473ad;
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 12px;
}
Nun zu meinem Code: Das funktioniert:
PHP:
echo "<div id=\"contact_form\" class=\"col_2 left\"><form name=eintragen action=$action method=post>";                                                        //Formular erstellen
  echo "<div class=\"col_3 left\"><label for=\"titel\">Titel:</label><input type=text name=titel class=\"required input_field\" value='$titel' /></div>";                        //Feld Titel
  echo "<div class=\"col_3 right\"><label for=\"details\">Details:</label><input type=text size=128 maxlength=128 name=details class=\"required input_field\" value='$details' /></div>";    //Details
Das nicht:
PHP:
echo "<div class=\"col_3 left\"><label for=\"starttag\">Tag:</label><select name=starttag class=\"required select\" size=1></div>";                                                                                //Auswahlfeld Tag 
    for($i=1;$i<32;$i++)
    {
      if ($i==$starttag)
      {
      echo "<option value=$i selected>".$i.'</option>';
      }
    else
      {
      echo "<option value=$i>".$i.'</option>';
      }
    }
  echo '</select>';
                                                                                                                                              //Auswahlfeld Monat
  echo "<div class=\"col_3 right\"><label for=\"startmonat\">Monat:</label><select name=startmonat class=\"required select\" size=1></div>";
    for($i=1;$i<13;$i++)
    {
      if ($i==$startmonat)
      {
      echo "<option value=$i selected>".$i.'</option>';
      }
    else
      {
      echo "<option value=$i>".$i.'</option>';
      }
    }
  echo '</select>';
...
Kann mir da jemand weiterhelfen? Hab ich nur ein Brett vorm Kopf oder geht das generell nicht?
 
Werbung:
Hi,
danke für deine Antwort. Hilft mir aber leider nicht weiter. Ich gehe mal davon aus, dass du auf die verschiedenen Anführungszeichen hinauswillst. Das spielt aber für mein eigentliches Problem keine Rolle. Die sagen dem Parser ja nur, ob da noch php-Code drin ist, den er ausführen soll, oder nicht. Ich habe es trotzdem mal ausprobiert, alles mit " zu übergeben, aber ich stehe, nach wie vor, vor dem gleichen Problem.
 
Werbung:
Bezieht sich deine Frage nun auf CSS oder darauf, dass das HTML nicht wie gewünscht gerendert wird?

Im ersten Fall stelle die Seite online, im zweiten räume das PHP auf. HTML-Tags werden ohnehin nicht per Echo ausgegeben.
 
Tronjer hat zwar schon darauf hingewiesen, aber sollte

PHP:
echo "<option value=$i selected>".$i.'</option>';

nicht eigentlich so aussehen?

PHP:
echo '<option value="' .$i. '" selected="selected">' .$i. '</option>';

Denn wenn du die Ausgabe des Strings mit " öffnest und " mitten im String auftaucht, sollte er eigentlich vorzeitig beendet werden...
Weiß nicht welchen Doctype du verwendest, aber wenn es XHTML ist, ist selected="selected" oder selected="" die valide Schreibweise. Wenn nicht ist es egal ^^
 
Die Frage bezieht sich auf CSS. Ich möchte eben die drei Option-Felder Tag, Monat, Jahr nebeneinander ausgeben, wie bei Titel und Details. Bei den Input-Feldern klappt das ganze, bei den Selects nicht. Bei dem Konkatenationsoperator ist es glaub ich fürchterlich egal, wo welche Anführungszeichen sich befinden. Er verbindet ja schließlich nur Strings miteinander und bei beiden Strings ist die Syntax ja korrekt :) Es funktioniert ja auch :) Auch das selected ist völlig in Ordnung.
Ich hatte ein Brett vorm Kopf. Ich muss das </div>-Tag dann auch dahin schreiben, wo das </select> endet, sonst gibt das ja Kuddelmuddel
Das ist natürlich falsch:
Code:
...<select name=startmonat class=\"required select\" size=1></div>
Das wäre dann richtig:
Code:
...<select name=startmonat class=\"required select\" size=1>
...
</select></div>
Vielen Dank für eure Hilfe :)
 
Werbung:
Zurück
Oben