Ask HN: Is there a way to do this layout in HTML 5?(raw.gibney.org)
raw.gibney.org
Ask HN: Is there a way to do this layout in HTML 5?
http://raw.gibney.org/height_test_quirks
Meanwhile jlft has posted the right answer to this. Scroll way down to see it. Its on the second last position of this thread.
34 comments
Sure there is, here is my saturday morning no coffee's take on it:
And it's probably been answered there already.But what heck.
<!doctype html>
<style type="text/css">
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body {
height: 100%;
width: 100%;
border: 0px;
margin: 0px;
padding: 0px;
}
.header,.footer {
width: 100%;
height: 10%; /*use percentage or fixed size*/
border: 1px solid red;
}
.content {
width: 100%;
height: 80%;
}
.leftPanel, .rightPanel {
width: 50%;
float: left;
border: 1px solid red;
height: 100%;
}
</style>
<body>
<div class="header">Hey I'm a header</div>
<div class="content">
<div class="leftPanel">Left Panel Here</div>
<div class="rightPanel">Right Panel</div>
</div>
<div class="footer">I'm a footer</div>
</body>
You should probably ask this question on StackOverflow.comAnd it's probably been answered there already.But what heck.
Its not the same. You made a lot of changes. For example deleting the textarea and other elements.
Just put the textarea in the left panel.
He asked for the layout in HTML5, not the same code. Separating content from presentation is a better practice than shoveling it all in a table.
He asked for the layout in HTML5, not the same code. Separating content from presentation is a better practice than shoveling it all in a table.
<!doctype html>
<style type="text/css">
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, form {
height: 100%;
width: 100%;
border: 0px;
margin: 0px;
padding: 0px;
}
.header,.footer {
width: 100%;
height: 10%; /*use percentage or fixed size*/
border: 1px solid red;
}
.content {
width: 100%;
height: 80%;
}
.leftPanel, .rightPanel {
width: 50%;
float: left;
border: 1px solid red;
height: 100%;
}
textarea { width: 100%; height: 100% }
</style>
<body>
<form action="go.php" method="post">
<div class="header">Hey I'm a header</div>
<div class="content">
<div class="leftPanel">
<textarea name="text">Write here</textarea>
</div>
<div class="rightPanel">Right Panel</div>
</div>
<div class="footer">
I'm a footer, hit submit<br>
<input type="submit" class="submit" value="submit" name="" />
</div>
</form>
</body>Same problem as with "thegooley"s solution.
change height: 10% to min-height: 10% in “.header, .footer” ?
Not the same. In the original, the footer adopts its height to its content. Putting in a min-height of 10% will not accomplish that. You can simply verify it by comparing your solution and the original visually. They look completely different.
Please be aware, that meanwhile there is a working solution here:
http://raw.gibney.org/height_test_standards_2
It was suggested by jlft but his post got no upvotes, so its burried almost on the bottom of this thread.
Please be aware, that meanwhile there is a working solution here:
http://raw.gibney.org/height_test_standards_2
It was suggested by jlft but his post got no upvotes, so its burried almost on the bottom of this thread.
You should probably ask this question on StackOverflow.com
Good suggestion. Will do that if no solution comes up on HN.
http://pastehtml.com/view/c6bge5hig.html
table { position:absolute; top: 0; bottom: 0; ....
table { position:absolute; top: 0; bottom: 0; ....
Its not the same. The textarea does not resize to the parents height in this solution. Also it extends into the right half of the screen.
You need 6 div. one container. Everything goes in there. One header, one wrapper that holds the two big boxes and a footer.
Set HTML & body height to 100%. If you don't your container and other divs will likely ignore your height:100%
Everything else you need from there is float, position, clear, width and height. Should even be compatible with most versions of IE.
Sp yes it is possible and even simple with HTML and CSS. No need for tables.
Set HTML & body height to 100%. If you don't your container and other divs will likely ignore your height:100%
Everything else you need from there is float, position, clear, width and height. Should even be compatible with most versions of IE.
Sp yes it is possible and even simple with HTML and CSS. No need for tables.
There have been solutions been suggested without tables. Look through this thread. Nothing works so far.
Add this:
form { height: 100%; } td {height: 100%; }
form { height: 100%; } td {height: 100%; }
The best solution so far!
http://raw.gibney.org/height_test_standards_1
Only problem: The textare is slighty misaligned.
http://raw.gibney.org/height_test_standards_1
Only problem: The textare is slighty misaligned.
you just need to add this to textarea
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
Awesome! We got it!
http://raw.gibney.org/height_test_standards_2
http://raw.gibney.org/height_test_standards_2
The form is the element screwing you over. It's compressing everything to minimum. Set form{height:100%} and it spans the page again. You can also move the form just inside of the table and get the desired effect.
jlft already suggested this. Please see his reply. And if possible upvote it. He made the best solution so far, but his post is burried down below.
You may find this useful: http://matthewjamestaylor.com/blog/equal-height-columns-2-co...
It has been a while since I have played around with HTML (do Java at work, mostly) but surely one can do tables in HTML 5, as in previous versions? If not, something wrong there, IMO...
Is this the kind of code that you're looking for?
http://files.thegooley.com/example-fullpage-app.html
Here's a jsFiddle in HTML5 mode with the table code pre-entered if anyone wants to play with it: http://jsfiddle.net/bzf9W/
[deleted]
[deleted]
[deleted]
Do you have to use <table>?
IMO, the use of <table> should be avoided in a solution, tables are not intended for page layout.
I just need this layout. With or without a table. As long as it looks and behaves the same.