Ben McCallum's Blog

Dissecting ASP.NET MVC3, CSS3, HTML5, jQuery and a whole lot of other things ending with numbers…

Archive for the tag “Reach4urPhone”

Making older browsers recognize and correctly style the new HTML5 semantic tags

I recently converted a web app I was working on (Reach4urPhone) to use HTML5 semantic markup. Instead of using divs with id attributes such as “header”, “nav” and “footer”, I replaced them with the semantic header, nav and footer HTML5 elements. Makes sense right? All I had to do was update the HTML and my CSS selectors and all the browsers on my computer were rendering my web pages correctly. It was a five minute job and life was good… or so I thought.

A week later I had a job interview at a web development company. Whilst proudly talking about my latest project the interviewer asked to see my site. Without hesitation I began loading (Reach4urPhone) on the office computer. Then -BAM- all my styling was wrong! Padding seemed obsolete, margins were out, etc. Spluttering and trying to recover gracefully I finally brought it up in a more recent version of Safari that rendered my website in all its true glory. I knew it was a older browser issue but at the time couldn’t figure it out. Well I have now and I’m here to share.

Basically, older browsers that can’t recognize the new HTML5 tags don’t know how to display them. Some decide not to display the elements as block-level elements even though they are defined as block-level in the HTML5 W3C standard. To fix it, add this to your CSS: article, aside, figure, footer, header, hgroup, menu, nav, section { display:block; }. By setting display as block for the new and unrecognized HTML5 elements header, footer, nav and section you tell/force the browser to render them correctly instead of just guessing.

Thinking back I realized the new Visual Studio MVC3 Web Application project template (with the MVC3 Tools Update installed) with the “Use HTML5 semantic markup” checkbox checked actually has a default CSS file with the rule: header,footer,nav,section { display: block; }. Too bad I had noobishly removed it when decluttering.

– benmccallum

PS. I got the job 🙂

reach4urPhone.com BETA released!

bungie logo

Recently, I’ve been working on a mobile phone web application for viewing Halo: Reach stats. Bungie and Microsoft (developers and publishers of the critically acclaimed and awesome game) have been kind enough and forward-thinking enough to expose an API (application programming interface) for us developers to extract data about the game, from player details to game history and fileshares.

I’ll be talking more about this website in the future, including how I’ve designed and maintained it, but for now go and visit it @ reach4urPhone.com and let me know what you think. This site is built using ASP.NET MVC3, HTML5, CSS3, jQuery and I hope you like it!

-Ben

A New Beginning

Hi Interwebs,

It’s been a while since I’ve posted anything on this blog. I’ve been busy finishing my Honours degree 😐

But now that is out of the way I am going to start posting things I learn on here. Whether they be in the ASP.NET MVC framework, ASP.NET Web Forms, C#, CSS3, HTML5, jQuery and other fields. I’m extremely excited about these new technologies and have made the shift from web forms to MVC3 so I’m going to share everything I learn and find useful on this blog, for your sake and my memory.

Regards,
Ben

Post Navigation