see? I never said that. instead I said what I actually did say, and instead of responding to that or simply moving on, you guys are going on about strawmen.
“In this case, sure, but not always.”
see? who is talking about anything but this case? the OP asked “how does google do that”, “that” being that footer.
who other than you two is talking about other cases? nobody. that’s the strawman. you are arguing against a position nobody is arguing for, and when I point that out you say “what strawman” and go on — wtf is that even. I hope the OP has their solution; you guys are just lost.
try giving the body element “height:100%”, and the html element “overflow:hidden;” via CSS (the later turns off the scrollbar no matter what)… does that help?
that’s totally besides the point of how graphics and rendering work. I’m sure there’s *plenty* of people think a small image file is small in memory… and I just chose huge values to make a point, 5000 x 5000 is noticeable as well.
besides, one website might be one tab out of 50. that one background image might be one out of 50, too. so why not have a clue? it’s simply about the mechanics of the thing and common misconceptions.
dimensions do matter though. make a two colored .png that is 100000 x 100000 big… even if it’s just 10kb or something, older computers will shit bricks. that is because images always end up decompressed in memory.
though I doubt it actually matters when talking about 500 x 500 and just one image, it’s just something that can’t hurt to keep in mind.
oh, and if you’re using .png, you want this btw ;)
please try to understand what the code actually does :)
it is reading the file, and assigning the content to a variable ($page) — but unless you echo that variable, of course nothing will show up! I just like to put stuff in a variable first, because then you can do more with it than just echo it.. but in this case that’s unnecessary I guess. sorry for the confusion ^^
one thing that’s really important, set the right headers! and generally learn about the awesome extra stuff you can do with them, starting with the basics of setting a content-length that matches the length of the string you’re going to output, working yourself up to caching, etags and 304 not modified :D
but one thing is sure, if you don’t set a 404 header when outputting a 404 page, search engines will hate you. that’s the one thing about headers you *have* to learn. been there, done that ^^
never trust user input. something like
is evil itself.
now, if you don’t want to “echo the whole page”, don’t use include(), just use file_get_contents(), and *echo that. that also means you can use an .html extension, which might help with text editor syntax highlighting, too.
(* what I personally do is build the whole output, then set the appropriate headers, then have a single echo $output; at the very end)
if you want to use a whitelist:
// do stuff
if (in_array($_GET, array('home', 'about', 'another_page', 'you_get_the_idea')))
$page = file_get_contents('path_to_pages/' . $_GET . '.html');
$page = '404 sadface.';
// do stuff
that is the one super secure way — nothing you haven’t predetermined to be a valid argument gets accepted.
I guess you could also remove all dots and slashes from $_GET, and then do a
if (file_exists('path_to_pages/' . $_GET))
instead of the in_array() check, that *should* be safe, too, but maybe there is more to watch out for than dots and slashes I’m not sure, I’m usually using the a database anyway, and when I don’t I usually use a white list because hey, it’s not *that* much hassle and it’s bulletproof.
as long as it’s your own little site, go for it… you can always “just use wordpress” later. yes, if you want good results fast, use wordpress :P and if you do it your own way, you will eat your foot so many ways! it’s amazing what one can screw up (there’s more to HTTP than just echoing stuff, if you want things properly cached, support 304 not modified and whatnot), and you’ll be fixing errors and wait months for google to forgive you haha… but I say, go for it. learn how this stuff actually works.
everybody should have built at least one crappy little CMS before using those of others, that’s my motto :P
yeah. let’s say you have a desired row height like 150px..
– take first/next image, check how wide it would be when 150px high. add that to the row width.
– if that makes the row wider than the container width and the picture is the first (and so far only one) in the row, shrink as much as needed and go to next row. (that’s an extreme case that should rarely happen but hey, never say never)
– if it makes the row wider than the container width, but is not the only picture in the row, you now stretch all thumbs by the necessary factor. as you said, that would give rows varying heights. I guess rounding variations could make stuff imperfect here, so maybe it would be simples to allow for a bit of padding and use text-align: justify on top of all this.
uhm, good luck :)
maybe make those boxes just show their headers, and when hovered over, slightly change color and expand to reveal the full text? I’d also simply make the whole box a link, but I guess others or you might disagree :P I just don’t like “click here” links personally ^^
a must (IMHO) is to mark the box of the page you’re currently on in some way, like you do in the top header…. of course, if you could find a stylish way to get rid of that duplication, that would be a bonus. make the header nav blocks colorful and bigger, expand with the full text – done? at least in my mind, that might work :)
the text in the yellow box is a tiny bit hard to read (on my monitor), a bit more contrast would help. with the blue box too, but to a lesser degree.
maybe the light blue from the header could fade over into the white? or the opposite, a little border/shadow.. dunno if that would improve anything, just something that occured to me. maybe that white background could use some very(!) light texture to it, too.
and consider using web fonts instead of images for headers! even using images instead of CSS backgrounds (and giving those images alt text) would be better, because with a website as this accessibility should be first and foremost. if the design is light, that’s okay… and yours is light in a very stylish way, but it’s not very nice to search engines or screen readers with those headers, so that would be my one real complaint.
well, and maybe that many pages requires a bit much scrolling… I think it might still work with a bit less padding etc. the font could be a tiny bit bigger, too, with less line height? maybe, it’s hard to tell without fiddling with it, so take all of this as just my 2 cents and good luck :)