{"id":15596,"date":"2012-11-30T21:01:29","date_gmt":"2012-11-30T13:01:29","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=15596"},"modified":"2024-04-04T01:25:05","modified_gmt":"2024-04-03T17:25:05","slug":"css-reflection","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/","title":{"rendered":"CSS3 Image Reflection Techniques"},"content":{"rendered":"<p>Up until now, we\u2019ve explored numerous fresh features introduced by <strong><a href=\"https:\/\/www.hongkiat.com\/blog\/tag\/css\/\">CSS3<\/a><\/strong>. But, there\u2019s more to CSS3 than meets the eye, including several properties not yet official but certainly noteworthy. One such property is <code>box-reflect<\/code>, brought to us by <strong>Webkit<\/strong>, designed to create reflections of objects.<\/p>\n<h2>Creating Simple Reflections<\/h2>\n<p>Setting up a basic reflection is straightforward. For instance, if we want a reflection to appear directly below an object, we can use the following code:<\/p>\n<pre>\r\nimg {\r\n  -webkit-box-reflect: below;\r\n}\r\n<\/pre>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg\" alt=\"Example of basic reflection below an image\" width=\"500\" height=\"420\"><\/figure>\n<div class=\"sue-icon-text su-image-caption\" data-url=\"\" data-target=\"self\" style=\"min-height:34px;padding-left:36px;color:#333333\">\n<div class=\"sue-icon-text-icon\" style=\"color:#333333;font-size:24px;width:24px;height:24px\"><i class=\"sui sui-photo\" style=\"font-size:24px;color:#333333\"><\/i><\/div>\n<div class=\"sue-icon-text-content su-u-trim\" style=\"color:#333333\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bookcoverarchive.com\/book\/eight_weeks_of_bruce\">Eight Weeks Of Bruce<\/a><\/div>\n<div style=\"clear:both;height:0\"><\/div>\n<\/div>\n<p>This demonstration reflects an image <strong>below<\/strong> its original position. However, reflections can also be positioned to the <code>right<\/code>, <code>left<\/code>, or <code>above<\/code> the object.<\/p>\n<h2>Adjusting Reflection Gap<\/h2>\n<p>The <strong>Offset<\/strong> feature allows us to control the distance between the reflection and its source. Consider the following example:<\/p>\n<pre>\r\nimg {\r\n  -webkit-box-reflect: below 10px;\r\n}\r\n<\/pre>\n<p>Here, a <code>10px<\/code> gap is created between the object and its reflection.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/offset-reflection.jpg\" alt=\"Image showing reflection offset by 10px\" width=\"500\" height=\"420\"><\/figure>\n<div class=\"sue-icon-text su-image-caption\" data-url=\"\" data-target=\"self\" style=\"min-height:34px;padding-left:36px;color:#333333\">\n<div class=\"sue-icon-text-icon\" style=\"color:#333333;font-size:24px;width:24px;height:24px\"><i class=\"sui sui-photo\" style=\"font-size:24px;color:#333333\"><\/i><\/div>\n<div class=\"sue-icon-text-content su-u-trim\" style=\"color:#333333\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bookcoverarchive.com\/book\/eight_weeks_of_bruce\">Eight Weeks Of Bruce<\/a><\/div>\n<div style=\"clear:both;height:0\"><\/div>\n<\/div>\n<p><a href=\"https:\/\/hongkiat.github.io\/css-reflection\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  View demo <\/span><\/a><\/p>\n<h2>Enhancing Reflections with Gradient Masking<\/h2>\n<p>A popular reflection effect is the gradual fade-out at the bottom, revealing only a portion of the original object. To achieve this, we can employ <strong>CSS3 Gradients<\/strong> as a masking technique:<\/p>\n<pre>\r\n-webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(250, 250, 250, 0.1)));\r\n<\/pre>\n<p>This approach produces the effect seen here:<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/mask-reflection.jpg\" alt=\"Image showing gradient mask reflection\" width=\"500\" height=\"420\"><\/figure>\n<div class=\"sue-icon-text su-image-caption\" data-url=\"\" data-target=\"self\" style=\"min-height:34px;padding-left:36px;color:#333333\">\n<div class=\"sue-icon-text-icon\" style=\"color:#333333;font-size:24px;width:24px;height:24px\"><i class=\"sui sui-photo\" style=\"font-size:24px;color:#333333\"><\/i><\/div>\n<div class=\"sue-icon-text-content su-u-trim\" style=\"color:#333333\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bookcoverarchive.com\/book\/whats_liberal_about_the_liberal_arts\">What\u2019s Liberal About The Liberal Arts?<\/a><\/div>\n<div style=\"clear:both;height:0\"><\/div>\n<\/div>\n<p>To further refine the transition and enhance the reflection\u2019s appearance, the <code>color-stop<\/code> feature can be utilized:<\/p>\n<pre>\r\nimg {\r\n  -webkit-box-reflect: below 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), to(rgba(250, 250, 250, 0.1)));\r\n}\r\n<\/pre>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/colorstop-reflection.jpg\" alt=\"Image demonstrating reflection with color-stop gradient\" width=\"500\" height=\"420\"><\/figure>\n<div class=\"sue-icon-text su-image-caption\" data-url=\"\" data-target=\"self\" style=\"min-height:34px;padding-left:36px;color:#333333\">\n<div class=\"sue-icon-text-icon\" style=\"color:#333333;font-size:24px;width:24px;height:24px\"><i class=\"sui sui-photo\" style=\"font-size:24px;color:#333333\"><\/i><\/div>\n<div class=\"sue-icon-text-content su-u-trim\" style=\"color:#333333\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bookcoverarchive.com\/book\/everything_matters\">Everything Matters!<\/a><\/div>\n<div style=\"clear:both;height:0\"><\/div>\n<\/div>\n<p><a href=\"https:\/\/hongkiat.github.io\/css-reflection\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  View demo <\/span><\/a><\/p>\n<h2>Reflection Effects in Firefox<\/h2>\n<p>Unfortunately, the reflection property we discussed is currently only supported in Webkit-based browsers like Safari and Chrome. For those using Firefox and seeking similar visual effects, there\u2019s a workaround: the <code>-moz-element()<\/code> function. This function can duplicate content from specified HTML elements. Here\u2019s an example to illustrate this approach:<\/p>\n<p>An image is enclosed within a <code>&lt;div&gt;<\/code> element assigned with the <code>moz-reflect<\/code> id:<\/p>\n<pre>\r\n&lt;div id=\"moz-reflect\"&gt;\r\n  &lt;img src=\"images\/everything_matters.large.jpg\"&gt;\r\n&lt;\/div&gt;\r\n<\/pre>\n<p>To simulate the reflection, the <strong><code>:after<\/code> pseudo-element<\/strong> comes into play as shown below:<\/p>\n<pre>\r\n#moz-reflect:after {\r\n  content: \"\";\r\n  display: block;\r\n  background: -moz-element(#moz-reflect) no-repeat;\r\n  width: auto;\r\n  height: 375px;\r\n  margin-bottom: 100px;\r\n  -moz-transform: scaleY(-1);\r\n}\r\n<\/pre>\n<p>The <code>-moz-transform<\/code> property with a negative scale flips the replicated object, creating an upside-down effect. It\u2019s crucial to adjust the <code>height<\/code> accurately to match the original object to ensure a clean reflection without any visual glitches.<\/p>\n<p>However, achieving a smooth fade-out effect in Firefox using this method is not straightforward. The code provided here will generate a reflection but won\u2019t include the graceful fading seen in Webkit browsers.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/ff-reflection.jpg\" alt=\"Firefox reflection example without fade effect\" width=\"500\" height=\"420\"><\/figure>\n<div class=\"sue-icon-text su-image-caption\" data-url=\"\" data-target=\"self\" style=\"min-height:34px;padding-left:36px;color:#333333\">\n<div class=\"sue-icon-text-icon\" style=\"color:#333333;font-size:24px;width:24px;height:24px\"><i class=\"sui sui-photo\" style=\"font-size:24px;color:#333333\"><\/i><\/div>\n<div class=\"sue-icon-text-content su-u-trim\" style=\"color:#333333\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"http:\/\/bookcoverarchive.com\/book\/strange_bedfellows\">Strange Bedfellows<\/a><\/div>\n<div style=\"clear:both;height:0\"><\/div>\n<\/div>\n<p><a href=\"https:\/\/hongkiat.github.io\/css-reflection\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  Visit demo <\/span><\/a>\n<a href=\"https:\/\/github.com\/hongkiat\/css-reflection\/\" class=\"su-button su-button-style-flat\" style=\"color:#FFFFFF;background-color:#2D89EF;border-color:#246ec0;border-radius:0px\" target=\"__blank\" rel=\"noopener nofollow\"><span style=\"color:#FFFFFF;padding:7px 20px;font-size:16px;line-height:24px;border-color:#6cadf4;border-radius:0px;text-shadow:none\"><i class=\"sui sui-external-link\" style=\"font-size:16px;color:#fff\"><\/i>  Download source <\/span><\/a><\/p>\n<h2>Additional Resources<\/h2>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.apple.com\/safari\/resources\/\">Guide to Safari\u2019s CSS Visual Effects<\/a><\/li>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/CSS\/element\">Mozilla\u2019s element() Function Documentation<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Up until now, we\u2019ve explored numerous fresh features introduced by CSS3. But, there\u2019s more to CSS3 than meets the eye, including several properties not yet official but certainly noteworthy. One such property is box-reflect, brought to us by Webkit, designed to create reflections of objects. Creating Simple Reflections Setting up a basic reflection is straightforward.&hellip;<\/p>\n","protected":false},"author":113,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[352],"tags":[507,506,2016],"topic":[4520],"class_list":["entry-content","is-maxi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.8 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>CSS3 Image Reflection Techniques - Hongkiat<\/title>\n<meta name=\"description\" content=\"Up until now, we&#039;ve explored numerous fresh features introduced by CSS3. But, there&#039;s more to CSS3 than meets the eye, including several properties not\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hongkiat.com\/blog\/css-reflection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CSS3 Image Reflection Techniques\" \/>\n<meta property=\"og:description\" content=\"Up until now, we&#039;ve explored numerous fresh features introduced by CSS3. But, there&#039;s more to CSS3 than meets the eye, including several properties not\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/css-reflection\/\" \/>\n<meta property=\"og:site_name\" content=\"Hongkiat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hongkiatcom\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-30T13:01:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-03T17:25:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg\" \/>\n<meta name=\"author\" content=\"Thoriq Firdaus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tfirdaus\" \/>\n<meta name=\"twitter:site\" content=\"@hongkiat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thoriq Firdaus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/\"},\"author\":{\"name\":\"Thoriq Firdaus\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\"},\"headline\":\"CSS3 Image Reflection Techniques\",\"datePublished\":\"2012-11-30T13:01:29+00:00\",\"dateModified\":\"2024-04-03T17:25:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/\"},\"wordCount\":531,\"commentCount\":13,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css-reflection\\\/basic-reflection.jpg\",\"keywords\":[\"CSS\",\"HTML\",\"HTML5 \\\/ CSS3 Tutorials\"],\"articleSection\":[\"Web Design\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/\",\"name\":\"CSS3 Image Reflection Techniques - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css-reflection\\\/basic-reflection.jpg\",\"datePublished\":\"2012-11-30T13:01:29+00:00\",\"dateModified\":\"2024-04-03T17:25:05+00:00\",\"description\":\"Up until now, we've explored numerous fresh features introduced by CSS3. But, there's more to CSS3 than meets the eye, including several properties not\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css-reflection\\\/basic-reflection.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css-reflection\\\/basic-reflection.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css-reflection\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CSS3 Image Reflection Techniques\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"name\":\"Hongkiat\",\"description\":\"Tech and Design Tips\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\",\"name\":\"Hongkiat.com\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/wp-content\\\/uploads\\\/hkdc-logo-rect-yoast.jpg\",\"width\":1200,\"height\":799,\"caption\":\"Hongkiat.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hongkiatcom\",\"https:\\\/\\\/x.com\\\/hongkiat\",\"https:\\\/\\\/www.pinterest.com\\\/hongkiat\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\",\"name\":\"Thoriq Firdaus\",\"description\":\"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.\",\"sameAs\":[\"https:\\\/\\\/thoriq.com\",\"https:\\\/\\\/x.com\\\/tfirdaus\"],\"jobTitle\":\"Web Developer\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/author\\\/thoriq\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"CSS3 Image Reflection Techniques - Hongkiat","description":"Up until now, we've explored numerous fresh features introduced by CSS3. But, there's more to CSS3 than meets the eye, including several properties not","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/","og_locale":"en_US","og_type":"article","og_title":"CSS3 Image Reflection Techniques","og_description":"Up until now, we've explored numerous fresh features introduced by CSS3. But, there's more to CSS3 than meets the eye, including several properties not","og_url":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2012-11-30T13:01:29+00:00","article_modified_time":"2024-04-03T17:25:05+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg","type":"","width":"","height":""}],"author":"Thoriq Firdaus","twitter_card":"summary_large_image","twitter_creator":"@tfirdaus","twitter_site":"@hongkiat","twitter_misc":{"Written by":"Thoriq Firdaus","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/"},"author":{"name":"Thoriq Firdaus","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807"},"headline":"CSS3 Image Reflection Techniques","datePublished":"2012-11-30T13:01:29+00:00","dateModified":"2024-04-03T17:25:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/"},"wordCount":531,"commentCount":13,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg","keywords":["CSS","HTML","HTML5 \/ CSS3 Tutorials"],"articleSection":["Web Design"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/css-reflection\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/","url":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/","name":"CSS3 Image Reflection Techniques - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg","datePublished":"2012-11-30T13:01:29+00:00","dateModified":"2024-04-03T17:25:05+00:00","description":"Up until now, we've explored numerous fresh features introduced by CSS3. But, there's more to CSS3 than meets the eye, including several properties not","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/css-reflection\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/css-reflection\/basic-reflection.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/css-reflection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CSS3 Image Reflection Techniques"}]},{"@type":"WebSite","@id":"https:\/\/www.hongkiat.com\/blog\/#website","url":"https:\/\/www.hongkiat.com\/blog\/","name":"Hongkiat","description":"Tech and Design Tips","publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hongkiat.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hongkiat.com\/blog\/#organization","name":"Hongkiat.com","url":"https:\/\/www.hongkiat.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","contentUrl":"https:\/\/www.hongkiat.com\/blog\/wp-content\/uploads\/hkdc-logo-rect-yoast.jpg","width":1200,"height":799,"caption":"Hongkiat.com"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hongkiatcom","https:\/\/x.com\/hongkiat","https:\/\/www.pinterest.com\/hongkiat\/"]},{"@type":"Person","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807","name":"Thoriq Firdaus","description":"Thoriq is a writer for Hongkiat.com with a passion for web design and development. He is the author of Responsive Web Design by Examples, where he covered his best approaches in developing responsive websites quickly with a framework.","sameAs":["https:\/\/thoriq.com","https:\/\/x.com\/tfirdaus"],"jobTitle":"Web Developer","url":"https:\/\/www.hongkiat.com\/blog\/author\/thoriq\/"}]}},"jetpack_featured_media_url":"https:\/\/","jetpack_shortlink":"https:\/\/wp.me\/p4uxU-43y","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/15596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/users\/113"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/comments?post=15596"}],"version-history":[{"count":4,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/15596\/revisions"}],"predecessor-version":[{"id":71644,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/15596\/revisions\/71644"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=15596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=15596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=15596"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=15596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}