{"id":110,"date":"2005-06-23T21:23:22","date_gmt":"2005-06-24T03:23:22","guid":{"rendered":"\/?p=110"},"modified":"2005-06-23T21:23:22","modified_gmt":"2005-06-24T03:23:22","slug":"rounded-corners-the-last-word","status":"publish","type":"post","link":"https:\/\/www.codedread.com\/blog\/archives\/2005\/06\/23\/rounded-corners-the-last-word\/","title":{"rendered":"Rounded Corners &#8211; The Last Word"},"content":{"rendered":"<p>The <a href=\"http:\/\/blogs.msdn.com\/ie\/archive\/2005\/06\/23\/431980.aspx\" title=\"IE Blog\">IEBlog<\/a> posted an item today telling web developers that rounded corners would not be implemented in the upcoming Internet Explorer 7 and then linked to a 3-month-old article that would teach us all how to do rounded corners in IE  5\/6 today.  Um, what?  Did I miss something?  Is it still 2002?<!--more--><\/p>\n<div class=\"ads\"><object type=\"text\/html\" width=\"468\" height=\"60\" data=\"http:\/\/www.codedread.com\/gads.php\"><\/object><\/div>\n<p>The article then postulates that \"Perhaps you're tired of waiting for the W3C to release the CSS3 Recommendations, which will include specifications for rounded corners...\".  Pretty snarky of Microsoft considering IE6's support of standards like CSS and XHTML.<\/p>\n<p>It then goes on to say: \"The goal here is to give you a simple start towards building the next generation look-and-feel of the Web by using today's available standards\".  The problems with this statement are two-fold:  1) The techniques they describe are at least a couple years old (one even older...a table-based solution) so how can they call this \"next generation look-and-feel\"?  and 2) They neglect to mention perhaps the simplest solution of all which involves an <em>already available standard<\/em>:  <a href=\"http:\/\/www.w3.org\/Graphics\/SVG\/\" title=\"W3C Scalable Vector Graphics site\">Scalable Vector Graphics<\/a> which truly is \"next-generation\" and has the potential to give the web a facelift.<\/p>\n<p>So the <em>real<\/em> problem is actually Internet Explorer's <em>support<\/em> of existing standards, if I may be so <span class=\"definition\" title=\"snarky\">bold<\/span>.<\/p>\n<p><a href=\"http:\/\/blog.steeleprice.net\/archive\/2005\/03\/17\/594.aspx\" title=\"steeleprice.net\">This guy<\/a> turned me on to this idea when I was first learning and reading about SVG.  The simple idea is that you can use a SVG anywhere on a web page that you can use an image (as mentioned <a href=\"http:\/\/www.w3.org\/TR\/2003\/REC-SVG11-20030114\/conform.html#ConformingSVGViewers\" title=\"Conformance criteria for SVG Viewers\">here<\/a> in the SVG 1.1 spec).  This includes the &#60;img&#62; tag and (drum-roll please) CSS background-image.<\/p>\n<p>So in the ideal SVG world, I could have:<\/p>\n<p>corner.svg:<\/p>\n<div class=\"svgcode\">\n&#60;?xml version=\"1.0\" ?&#62;<br \/>\n&#60;svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"<br \/>\n&#160;&#160;width=\"100%\" height=\"100%\" viewBox=\"0 0 100 100\" version=\"1.1\"&#62;<br \/>\n&#160;&#160;&#60;rect fill=\"white\" stroke=\"none\" x=\"0\" y=\"0\"<br \/>\n&#160;&#160;&#160;&#160;width=\"100\" height=\"100\" rx=\"10\" ry=\"10\"\/&#62;<br \/>\n&#60;\/svg&#62;\n<\/div>\n<p>and then in my web page:<\/p>\n<div class=\"code\">\n&#60;html&#62;&#60;head&#62;<br \/>\n&#60;style type=\"text\/css\"&#62;<br \/>\nbody { background-color: black; }<br \/>\n.div_roundedcorners {<br \/>\n&#160;&#160;background-image: url(\"corner.svg\");<br \/>\n&#160;&#160;color: blue;<br \/>\n}<br \/>\n&#60;\/style&#62;&#60;\/head&#62;<br \/>\n&#60;body&#62;<br \/>\n&#160;&#160;&#60;div class=\"div_roundedcorners\"&#62;<br \/>\n&#160;&#160;This is a div that will have rounded corners thanks to the<br \/>\n&#160;&#160;SVG image used as a background (of course it scales to the<br \/>\n&#160;&#160;size of the div too).<br \/>\n&#160;&#160;&#60;\/div&#62;<br \/>\n&#60;\/body&#62;<br \/>\n&#60;\/html&#62;\n<\/div>\n<p>This would produce a black web page with a white rounded rectangle in which the blue HTML text appears.<\/p>\n<p><strong>Unfortunately, both the Opera and the Firefox 1.1 versions of SVG native rendering do not support this potentially very useful feature.<\/strong>  There are two Mozilla bugs open to address this (<a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=231179\">here<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=276431\">here<\/a>) and I've harassed the guys over in the Opera forums a couple times now (<a href=\"http:\/\/my.opera.com\/forums\/showthread.php?threadid=93615\">here<\/a> and <a href=\"http:\/\/my.opera.com\/forums\/showthread.php?threadid=94907\">here<\/a>).   Anybody who reads this blog entry and has an interest in seeing SVG succeed should do their part to vote for these fixes.  If we can get two or more major browsers behind this, that would be a tremendous boon.<\/p>\n<p>See, the thing that I'm worried about is that the SVG spec is so huge that developers will focus on the <span class=\"definition\" title=\"Flash Lovers: Feel free to roll your eyes here\">\"flash-killer\"<\/span> aspects of SVG or the ultra-cool integration that SVG can have with XHTML.  As a consequence, browser developers are neglecting some of the more practical and simple solutions that SVG can provide today (like scaled\/animated backgrounds on a plain old HTML web page).  <em>This<\/em> is where the in-roads into web development must first be made if SVG is to become a major player in the web development scene.  You can't remake the web overnight.  People are going to be writing HTML (<em>not<\/em> XHTML) for a long time to come thanks to Internet Explorer.  That's why <a href=\"http:\/\/logfree.codedread.com\/SVGKS_1a.php\" title=\"SVG Kickstart Tutorial #1\">my first SVG tutorial<\/a> starts out with an example of some very basic SVG that only scrapes the surface of what this technology can accomplish.  Focus on practical and simple uses and incrementally build on that once it is established.<\/p>\n<p>Anyway, some flashy (albeit not very useful) ideas for SVG backgrounds on HTML web pages:<\/p>\n<ul>\n<li>Forget rounded corners, what about stylish borders (think SVG paths for swirls, arcs, points, etc)<\/li>\n<li>Animated borders like marquee lights<\/li>\n<li>Animated backgrounds in which the clouds gently drift behind the HTML ever so slowly, occasionally a bird flaps by...<\/li>\n<\/ul>\n<p>Ok, I'll be the first to admit that I'm not very creative when it comes to applying this new technology (all I've managed to do was some simply animated navigation menu buttons on <a href=\"http:\/\/www.codedread.com\/\" title=\"CodeDread\">my site<\/a>) but if you put this in front of enough kids who like to tinker, we'll start to see a whole new web style emerge.<\/p>\n<div class=\"ads\"><object type=\"text\/html\" width=\"468\" height=\"60\" data=\"http:\/\/www.codedread.com\/gads.php\"><\/object><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The IEBlog posted an item today telling web developers that rounded corners would not be implemented in the upcoming Internet Explorer 7 and then linked to a 3-month-old article that would teach us all how to do rounded corners in IE 5\/6 today. Um, what? Did I miss something? Is it still 2002?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,46,11,28,30],"tags":[],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-software","category-svg","category-technology","category-web","category-xml"],"_links":{"self":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":0,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/posts\/110\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/media?parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/categories?post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codedread.com\/blog\/wp-json\/wp\/v2\/tags?post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}