{"id":1612,"date":"2010-09-12T23:25:23","date_gmt":"2010-09-13T03:25:23","guid":{"rendered":"http:\/\/www.useragentman.com\/blog\/?p=1612"},"modified":"2011-05-14T00:37:08","modified_gmt":"2011-05-14T04:37:08","slug":"using-css3-style-transforms-in-ie-without-javascript","status":"publish","type":"post","link":"https:\/\/www.useragentman.com\/blog\/2010\/09\/12\/using-css3-style-transforms-in-ie-without-javascript\/","title":{"rendered":"Using CSS3-Style Transforms in IE <em>Without<\/em> JavaScript"},"content":{"rendered":"<p><div id=\"attachment_1619\" style=\"width: 419px\" class=\"wp-caption alignright\"><a href=\"\/IETransformsTranslator\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1619\" src=\"https:\/\/www.useragentman.com\/blog\/wp-content\/uploads\/2010\/09\/screenshot.jpg\" alt=\"Screenshot of the IE Transforms Translator in IE6\" title=\"screenshot\" width=\"409\" height=\"261\" class=\"size-full wp-image-1619\" srcset=\"https:\/\/www.useragentman.com\/blog\/wp-content\/uploads\/2010\/09\/screenshot.jpg 409w, https:\/\/www.useragentman.com\/blog\/wp-content\/uploads\/2010\/09\/screenshot-300x191.jpg 300w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/a><p id=\"caption-attachment-1619\" class=\"wp-caption-text\">Screenshot of the IE Transforms Translator in IE6.  Click the image to see the translator in action.<\/p><\/div>When I posted my article on using <a href=\"\/blog\/2010\/03\/09\/cross-browser-css-transforms-even-in-ie\/\">cssSandpaper to do CSS Transforms in IE<\/a>, one of the comments I got via email was &#8220;I was excited when I heard about your post, but then I realized it uses JavaScript&#8221;.  A few valid points were made:<\/p>\n<ol>\n<li>cssSandpaper hides what IE is actually doing<\/li>\n<li>cssSandpaper styled objects can sometimes have a little <a href=\"http:\/\/www.bluerobot.com\/web\/css\/fouc.asp\/\">FOUC<\/a> (Flash of Unstyled Content)<\/li>\n<li>The effects won&#8217;t work with JavaScript turned off.<\/li>\n<li>&#8220;Why should I have my app load a script when I just want to do a few simple transformations?&#8221;<\/li>\n<\/ol>\n<p>The <a href=\"https:\/\/www.useragentman.com\/IETransformsTranslator\">IE Transforms Translator<\/a> was created to address these issues.  Simply type any valid CSS3 transform code into it, along with the width and height, and it will give you the equivalent IE Visual Filter CSS code.  Now anyone will be able to use CSS3-style Transformations in their web pages without using any JavaScript code (the tool does, however, use <a href=\"https:\/\/www.useragentman.com\/blog\/csssandpaper-a-css3-javascript-library\/\">CSS Sandpaper<\/a> to generate the numbers that the Transform Translator uses in the IE specific CSS).<\/p>\n<h2>Are There Any Gotchas?<\/h2>\n<p>Before inserting any of the IE Visual Filter code into your work, you should <a href=\"\/IETransformsTranslator\/doc.html\">look at the IE Transform Translator documentation<\/a> which will explain the differences between CSS3 Transforms and the <code>Matrix<\/code> filter and how to overcome them. <\/p>\n<h2>What Does This Mean for cssSandpaper<\/h2>\n<p>Absolutely nothing &mdash; as a matter of fact, this tool was built using it.  I just think it is a great idea to give developers different options.  <\/p>\n<h2>Kudos<\/h2>\n<p>This tool would not have been possible without the collaboration of <a href=\"http:\/\/www.zomigi.com\">Zoe Mickley Gillenwater<\/a>, who gave invaluable feedback on how the tool should work, came up with the tool&#8217;s front-end design and convinced me that the web development community would actually use such a tool (her new book, <a href=\"http:\/\/www.stunningcss3.com\/\">Stunning CSS3: A Project-based Guide to the Latest in CSS<\/a>, will soon be at a bookstore near you).  The Translator also uses code from <a href=\"http:\/\/weston.ruter.net\/\">Weston Ruter<\/a>&#8216;s webforms2 for browsers that don&#8217;t support HTML5 form validation, <a href=\"http:\/\/dean.edwards.name\/\">Dean Edwards&#8217;<\/a> <a href=\"http:\/\/dean.edwards.name\/IE7\/\">IE7.js<\/a> to fix some IE layout issues as well as  Andrew Johnson&#8217;s <a href=\"http:\/\/www.itnewb.com\/v\/Creating-the-Smooth-Scroll-Effect-with-JavaScript\">Smooth Scroll Script<\/a>.  <\/p>\n<h2>Feedback Requested<\/h2>\n<p>Please give any feedback on the tool below.  I hope this is useful to other web developers, and would love to know if any there are any features you feel it is lacking.<\/p>\n<p><a class=\"exampleLink\" href=\"\/IETransformsTranslator\">Take a look at the IE Transforms Translator<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.useragentman.com\/blog\/wp-content\/uploads\/2010\/09\/trantrans2.png\" \/> The <a href=\"\/IETransformsTranslator\">IE Transforms Translator<\/a> will allow you do Cross Browser CSS3-style Transformations <em>without<\/em> using a JavaScript library like <a href=\"https:\/\/www.useragentman.com\/blog\/csssandpaper-a-css3-javascript-library\/\">cssSandpaper<\/a>.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,38,41],"tags":[],"class_list":["post-1612","post","type-post","status-publish","format-standard","hentry","category-css","category-css3","category-transform"],"_links":{"self":[{"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/posts\/1612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/comments?post=1612"}],"version-history":[{"count":39,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/posts\/1612\/revisions"}],"predecessor-version":[{"id":3273,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/posts\/1612\/revisions\/3273"}],"wp:attachment":[{"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/media?parent=1612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/categories?post=1612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.useragentman.com\/blog\/wp-json\/wp\/v2\/tags?post=1612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}