Frage zu HTML

OP #6360045
Lesenswert?

Hallo

Ich habe da zweit Inputs und einen Button nicht besonderes, formatiere 
es mit CSS und möchte das die beiden Inputs auf der linken Seite und der 
Button rechts davon ist. Wie mache ich das am besten, hier nur der HTML 
Code
1
<div>
2
<div>
3
<input id="station_url" placeholder="Station URL in here ...." size="100" type="text" /><br>
4
<input id="station_name" placeholder="and Station Name here .... " size="100" type="text" />
5
</div>
6
<button id="BuSave" class="button" onClick="InputHandler(this.id)">Store Station</button>
7
</div>
Moderator Persönliche Seite #6360115
Lesenswert?

Martin M. schrieb:
> und möchte das die beiden Inputs auf der linken Seite und der Button
> rechts davon ist.
1
<div>
2
<div style="display:inline;">
3
<input id="station_url" placeholder="Station URL in here ...." size="100" type="text" /><br>
4
<input id="station_name" placeholder="and Station Name here .... " size="100" type="text" />
5
</div>
6
<button id="BuSave" class="button" onClick="InputHandler(this.id)">Store Station</button>
7
</div>

Eigentlich musst du nur das zweite <div> ändern.
(Firma: Funkenflug Industries) #6360142
Lesenswert?

<br> sollte ein <br/> werden

Aber wie man das letztendlich formatiert ist Geschmackssache. Da gibts 
viel zu viele Möglichkeiten, alle haben Vor- und Nachteile. Ob nun 
reines CSS oder Tabellen mit CSS... nur absolute Positionierung würde 
ich nicht machen, damit gibts oft Probleme.
#6360218
Lesenswert?

Ben B. schrieb:
> <br> sollte ein <br/> werden

Nö, das war nur in der Totgeburt XHTML so.
Alle anderen HTML-Varianten, incl. das aktuelle HTML5 haben <br>

https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-br-element
https://wiki.selfhtml.org/wiki/Referenz:HTML/br

<br/> funktioniert zwar auch, aber nur weil der Parser fehlertolerant 
ist und das falsche "/" ignoriert.

Und selbst wenn man XHTML verwenden will, wäre es als "<br />" besser, 
weil der HTML-Parser im Internet Explorer eben nicht ganz fehlertolerant 
genug war um das falsche "/" ohne extra-Space zu ignorieren. Echtes 
XHTML konnte der IE sowieso nie, einer der Gründe warum es nie Erfolg 
hatte.
(Firma: Funkenflug Industries) #6361272
Lesenswert?

Mit Tabelle:
1
<table style="width:800px;">
2
 <tr>
3
  <td style="width:70%;text-align:center;"><input type="text" id="field1" size="100" /></td>
4
  <td rowspan="2" style="width:30%;text-align:center;vertical-align:middle;"><input type="submit" id="button" value="Button" /></td>
5
 </tr>
6
 <tr>
7
  <td style="text-align:center;"><input type="text" id="field2" size="100" /></td>
8
 </tr>
9
</table>
#6361381
Lesenswert?

Und so richtig:
1
<div style="width:800px; display:flex; flex-direction:row;">
2
  <div style="width:80%; display:flex; flex-direction:column;">
3
    <input type="text" id="field1" size="100" />
4
    <input type="text" id="field2" size="100" />
5
  </div>
6
  <div style="width:20%; display:flex; justify-content:center; align-items:center;">
7
    <input type="submit" id="button" value="Button" />
8
  </div>
9
</div>

merciless
Moderator Persönliche Seite #6361496
Lesenswert?

Johnny B. schrieb:
> Dirk K. schrieb:
> Und so richtig:
>
> Was soll den daran besser sein? Bildest einfach mit DIV's eine Tabelle
> nach. Da kann man auch gleich direkt eine normale Tabelle nehmen.

Da streiten sich die Geister. Manche behaupten, dass Tabellen nicht so 
performant wären, andere sagen, dass DIVs fürs Responsive-Layout per CSS 
einfach besser geeignet seien.

Einfach mal nach "html Tabelle vs DIV" googlen... gibt jede Menge 
Treffer.... und genauso viele Argumente.

P.S.
Ich perönlich bevorzuge auch Tabellen, da diese für mich wesentlich 
intuitiver als die DIVs sind. Eine Tabelle schreibt man einfach hin, 
eine DIV-Struktur muss ich immer erst ausprobieren, bis sie so 
funktioniert, wie ich das möchte. Das war auch bei diesem 
Thread-Beispiel so.

Da man CSS auch auf Tabellen anwenden kann und diese damit durchaus 
"responsive" werden und ich außerdem bisher keinen 
Geschwindigkeitsunterschied beim Rendern von DIVs und TABLEs feststellen 
konnte, verwende ich lieber Tabellen. Das ist aber wohl eher 
Geschmackssache.
#6361530
Lesenswert?

Frank M. schrieb:
> Responsive-Layout

Ja wenn's responsive sein müsste und der Button bei Bedarf auf die 
nächste Zeile umgebrochen werden müsse, dann sieht die Sache natürlich 
anders aus und dann würde ich auch eher keine Tabelle verwenden. Aber 
dies war ja keine Anforderung bzw. wurde sogar verlangt, dass der Button 
rechts neben den Eingabefeldern sein muss.
#6361532
Lesenswert?

Johnny B. schrieb:
> Dirk K. schrieb:
>> Und so richtig:
>
> Was soll den daran besser sein? Bildest einfach mit DIV's eine Tabelle
> nach. Da kann man auch gleich direkt eine normale Tabelle nehmen.
https://wiki.selfhtml.org/wiki/HTML/Tutorials/responsive_Webdesign/Layoutkonzepte#Tabellen

Ein Elektriker verlegt die Kabel in einem Haus auch nicht mehr
so wie vor 50 Jahren, die Anforderungen an Sicherheit und
Wartbarkeit haben sich geändert. So ähnlich ist es mit dem
HTML-Design: Wenn ich das Layout responsive machen will,
brauch ich nur das CSS flexibel anlegen, und die Darstellung
kann komplett verändert werden. Die HTML-Tabelle zeigt die
Daten immer in Spalten und Zeilen an.

merciless
OP #6364738
Lesenswert?

Ich poste mal wie ich es gelöst habe mit <div>
ist zwar ein anderes Projekt wie am Anfang aber
aber im Grunde passt es zu der Frage.
Danke für eure Antworten.
1
<!DOCTYPE html>
2
<html lang="en">
3

4
    <style>
5

6
    #ColorRgbA { 
7
       background-color: #F2F3F4;
8
       top: 10px;
9
       position: relative;
10

11

12
    }
13
    #ColorRgb {
14
      background-color: #F2F3F4;
15
      top: 10px;
16
        position: relative;
17

18
    }
19
    
20
    #LabelHUE {
21
        width: 150px; 
22
    display: inline-block;
23
    top: 10px;
24
        position: relative;
25

26

27
}
28
    
29
    #LabelRGB {
30
    width: 150px; 
31
    display: inline-block;
32
    top: 10px;
33
        position: relative;
34

35
      
36
  }
37
  
38
  #container {
39
  width: 400px;
40
  background-color:#a1ff21;
41
}
42
    .leftdiv 
43
         {
44
    padding: 20px;
45
    margin: 15px 0px 15px 15px;
46
    border-radius: 10px;
47
    float: left;
48
    height: 130px;
49
    border: solid gray;
50
    vertical-align: middle;
51
  }
52
  .rightdiv 
53
         {
54
    padding: 20px;
55
    margin: 15px 15px 15px 0px;
56
    border-radius: 10px;
57
    float: left;
58
    background-color: #a1ff21;
59
    height: 130px;
60
    width: 300px;
61
    border: solid gray;
62

63

64
    
65
    
66
  }
67
         
68
    #SetColor
69
         {
70
    border-radius: 10px;
71
    border: solid black;
72
    background-color: #8AB8E6;
73
    height: 115px;
74
    width: 250px;
75
    top: 10px;
76
        position: relative;
77
  }
78
         
79

80

81
    </style>
82

83
  <head>
84
    <meta charset="utf-8">
85
    <title></title>
86
     <script src="iro.js" charset="utf-8"></script>
87
    
88
  </head>
89
  <body>
90
    <div id="demoWheel"></div>
91
  <div id="container"  class="leftdiv">
92
<p>  <label id="LabelHUE">Color Value RGBa:</label>
93
<input id="ColorRgbA" placeholder="#Color Value (RGBa)"  type="text" /></p>
94
<p>  <label id="LabelRGB">Color Value RGB hex:</label>
95
<input id="ColorRgb" placeholder="#Color Value (RGB hex)"  type="text" /></p>
96
  </div>
97
        <div class="rightdiv"> 
98
     <button id="SetColor" type="button" onclick="SendColor()">Click Me!</button>
99
      </div>
100
  
101
  <script src="demo.js" charset="utf-8"></script>
102
  </body>
103
  </html>
Gast #6364869
Lesenswert?

Andreas H. schrieb:
> Tabelle?

Ben B. schrieb:
> Mit Tabelle:

Frank M. schrieb:
> Ich perönlich bevorzuge auch Tabellen

Johnny B. schrieb:
> normale Tabelle nehmen


HTML-Tabellen für's Layout? Im Jahr 2020? Wirklich?

Eine richtige Lösung wurde oben schon gepostet, Flexbox. Das ist 
Standard seit fast 10 Jahren. Alternativ wäre noch Grid, das ist neuer.

Wer heute für ein Layout noch mit HTML-Tabellen anfängt, sollte sich mal 
eine aktuelle Lektüre zum Web-Layout gönnen. Gibt's auch gedruckt auf 
Papier, für die Tippgeber hier die so um die 50 Jahre alt sein müssen, 
bei diesen Vorschlägen.
Gast #6364882
Lesenswert?

Achso, mein Vorschlag:
1
    <div style="display: flex;">
2
      <div style="display: flex; flex-direction: column; flex-grow: 1;">
3
        <input id="station_url" placeholder="Station URL in here ...." type="text" />
4
        <input id="station_name" placeholder="and Station Name here .... " type="text" />
5
      </div>
6
      <button id="BuSave" class="button" onClick="InputHandler(this.id)">
7
        Store Station
8
      </button>
9
    </div>

(Aus beiden Text-Inputs das unsägliche size-Attribut entfernt.)
#6365503
Lesenswert?

Unbekannt U. schrieb:
> Eine richtige Lösung wurde oben schon gepostet, Flexbox. Das ist
> Standard seit fast 10 Jahren. Alternativ wäre noch Grid, das ist neuer.

Man kann nur hoffen, dass der olle IE langsam mal wirklich beerdigt 
wird.
(Gefühlt wird in der Industrie noch eher langsam auf Edge oder Firefox 
ESR migriert)
Der IE hat bei flexbox/grid natürlich ohne Ende Bugs, die einen in den 
Wahnsinn treiben können ;D
#6366601
Lesenswert?

Martin M. schrieb:
> <input id="ColorRgb" placeholder="#Color Value (RGB hex)"

Auf allen Browsern außer dem Internet Explorer geht's auch schöner:

https://wiki.selfhtml.org/wiki/HTML/Formulare/input/Farbw%C3%A4hler

und der IE macht aus dem type="color" stillschweigend ein type="text", 
funktioniert also auch, wenn auch dann unschön.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren