{"id":14093,"date":"2012-06-27T21:01:58","date_gmt":"2012-06-27T13:01:58","guid":{"rendered":"https:\/\/www.hongkiat.com\/blog\/?p=14093"},"modified":"2025-04-04T01:09:55","modified_gmt":"2025-04-03T17:09:55","slug":"css3-border-image","status":"publish","type":"post","link":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/","title":{"rendered":"Elevate Your Photos with the CSS3 Border-Image Property"},"content":{"rendered":"<p><strong>HTML<\/strong> and <strong>CSS<\/strong> have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines.<\/p>\n<p>However, the introduction of the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3.org\/TR\/css3-background\/#border-images\">CSS3 border-image property<\/a> has taken border design to a whole new level. This feature enables the use of images as borders, opening up possibilities for more visually appealing designs. Let\u2019s dive into how this property can be utilized to enhance your web elements.<\/p>\n<h2>Syntax and Browser Compatibility<\/h2>\n<p>To define a border image in CSS3, use this shorthand syntax:<\/p>\n<pre>\r\n border-image: [image source] [slice] [width] [outset] [repeat];\r\n<\/pre>\n<p>This syntax, as specified by the W3C, works in Chrome. Other browsers like Opera, Firefox, and Safari still need their respective prefixes (<code>-o-<\/code>, <code>-moz-<\/code>, <code>-webkit-<\/code>). Internet Explorer, as expected, does not support this property.<\/p>\n<p>Moreover, the <code>[width]<\/code> and <code>[outset]<\/code> values in the <code>border-image<\/code> property are <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3schools.com\/cssref\/css3_pr_border-image-width.asp\">not supported<\/a> by any browser yet, but you can use the <code>border-width<\/code> property as a workaround for the width.<\/p>\n<p>In essence, currently, we\u2019re limited to using the <code>[image source]<\/code>, <code>[slice]<\/code>, and <code>[repeat]<\/code> values.<\/p>\n<pre>\r\nborder-image: [image source] [slice] [repeat];\r\n<\/pre>\n<h2>Understanding Image Slicing<\/h2>\n<p>Before we dive into how to use this property, it\u2019s essential to grasp the concept of <strong>\u201cimage slice\u201d<\/strong>. Image slicing allows us to specify how an image is divided for border usage. It defines cuts from the top, right, bottom, and left edges of the image, effectively splitting the image into nine parts, as shown in the example below.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.jpg\" alt=\"Illustration of CSS3 border-image slice\" width=\"500\" height=\"300\"><\/figure>\n<p>In the illustrated image, notice how sections <strong>1<\/strong>, <strong>3<\/strong>, <strong>7<\/strong>, and <strong>9<\/strong> form the corners of the border. Sections <strong>2<\/strong>, <strong>4<\/strong>, <strong>6<\/strong>, and <strong>8<\/strong> serve as the sides of the border. These sections are designed to be repeatable or stretchable, ensuring a seamless edge.<\/p>\n<p>Slice values can be set using either pixels or percentages, providing flexibility in measurement.<\/p>\n<h3>More References:<\/h3>\n<ul>\n<li><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.w3.org\/TR\/css3-background\/#border-images\">CSS Backgrounds and Borders Level 3<\/a><\/li>\n<\/ul>\n<h2>Creating a Photo Frame with CSS3 Border-Image<\/h2>\n<p>Let\u2019s explore a practical example of the <code>border-image<\/code> property by crafting a photo frame. We\u2019ll use the following image as our border source, having precisely measured it to ensure it slices, repeats, and stretches effectively across any content size.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-measure.jpg\" alt=\"Border image measurement for photo frame\" width=\"500\" height=\"300\"><\/figure>\n<p>For the photo inside our frame, we\u2019ll feature an enchanting Cinemagraph from From Me to You.<\/p>\n<figure><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/farm6.static.flickr.com\/5303\/5659130034_7fc3dcfb8c_o.gif\" alt=\"Cinemagraph example\" width=\"615\" height=\"346\"><\/figure>\n<h3>The Markup<\/h3>\n<p>Starting with our HTML, it\u2019s straightforward:<\/p>\n<pre>\r\n &lt;div class=\"wrapper\"&gt;\r\n &lt;img src=\"path\/photo.jpg\"&gt;\r\n &lt;\/div&gt;\r\n<\/pre>\n<p>Remember to change <code>path\/photo.jpg<\/code> to the actual path of your photo.<\/p>\n<h3>The Styles<\/h3>\n<p>Next, let\u2019s frame our image. Based on the earlier image, our border measures a total of <strong>180px<\/strong> in width. Dividing this into <strong>6<\/strong> gives us segments of <strong>30px<\/strong> each, which will be our slice measurement.<\/p>\n<p>When specifying slice values in pixels, omit the <strong>px<\/strong> unit \u2013 it\u2019s understood as pixels. If using percentages, include the <strong>(%)<\/strong> symbol.<\/p>\n<p>We\u2019ll stick with the default <code>repeat<\/code> for image repetition, but <code>stretch<\/code> is also an option without sacrificing the border\u2019s appearance.<\/p>\n<pre>\r\nimg {\r\n  border-image: url(\"images\/frame.png\") 30 repeat;\r\n  -o-border-image: url(\"images\/frame.png\") 30 repeat;\r\n  -moz-border-image: url(\"images\/frame.png\") 30 repeat;\r\n  -webkit-border-image: url(\"images\/frame.png\") 30 repeat;\r\n  border-width: 30px;\r\n}\r\n<\/pre>\n<p>Furthermore, to enhance our design, we\u2019ll center the image in the browser and apply a subtle <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.toptal.com\/designers\/subtlepatterns\/?p=1311\">background texture<\/a> to the document.<\/p>\n<pre>\r\nhtml {\r\n  background: url('images\/lightpaperfibers.png');\r\n}\r\n\r\n.wrapper {\r\n  margin: 20px auto;\r\n  height: 476px;\r\n  width: 675px;\r\n  text-align: center;\r\n}\r\n<\/pre>\n<h2>Final Thoughts<\/h2>\n<p>The introduction of the <code>border-image<\/code> property is a significant enhancement in the CSS3 toolkit, liberating us from the confines of basic borders.<\/p>\n<p>Throughout this guide, we\u2019ve illustrated how to craft a photo frame that adapts seamlessly to the dimensions of any photo, thanks to the flexibility provided by stretchable or repeatable border sources.<\/p>\n<p>If you\u2019re still finding the <code>border-image<\/code> concept a bit challenging, don\u2019t worry \u2013 there <\/p>","protected":false},"excerpt":{"rendered":"<p>HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of the CSS3 border-image property has taken border design to a whole new level. This feature enables the use of images as borders, opening up possibilities for more visually appealing designs.&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":[3392,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.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Elevate Your Photos with the CSS3 Border-Image Property - Hongkiat<\/title>\n<meta name=\"description\" content=\"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of\" \/>\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\/css3-border-image\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elevate Your Photos with the CSS3 Border-Image Property\" \/>\n<meta property=\"og:description\" content=\"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/\" \/>\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-06-27T13:01:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-03T17:09:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.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\\\/css3-border-image\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/\"},\"author\":{\"name\":\"Thoriq Firdaus\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#\\\/schema\\\/person\\\/e7948c7a175d211496331e4b6ce55807\"},\"headline\":\"Elevate Your Photos with the CSS3 Border-Image Property\",\"datePublished\":\"2012-06-27T13:01:58+00:00\",\"dateModified\":\"2025-04-03T17:09:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/\"},\"wordCount\":521,\"commentCount\":14,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css3-border-image\\\/border-image-slice.jpg\",\"keywords\":[\"CSS\",\"HTML\",\"HTML5 \\\/ CSS3 Tutorials\"],\"articleSection\":[\"Coding\",\"Web Design\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/\",\"url\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/\",\"name\":\"Elevate Your Photos with the CSS3 Border-Image Property - Hongkiat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css3-border-image\\\/border-image-slice.jpg\",\"datePublished\":\"2012-06-27T13:01:58+00:00\",\"dateModified\":\"2025-04-03T17:09:55+00:00\",\"description\":\"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#primaryimage\",\"url\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css3-border-image\\\/border-image-slice.jpg\",\"contentUrl\":\"https:\\\/\\\/assets.hongkiat.com\\\/uploads\\\/css3-border-image\\\/border-image-slice.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/css3-border-image\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hongkiat.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Elevate Your Photos with the CSS3 Border-Image Property\"}]},{\"@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":"Elevate Your Photos with the CSS3 Border-Image Property - Hongkiat","description":"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of","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\/css3-border-image\/","og_locale":"en_US","og_type":"article","og_title":"Elevate Your Photos with the CSS3 Border-Image Property","og_description":"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of","og_url":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/","og_site_name":"Hongkiat","article_publisher":"https:\/\/www.facebook.com\/hongkiatcom","article_published_time":"2012-06-27T13:01:58+00:00","article_modified_time":"2025-04-03T17:09:55+00:00","og_image":[{"url":"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.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\/css3-border-image\/#article","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/"},"author":{"name":"Thoriq Firdaus","@id":"https:\/\/www.hongkiat.com\/blog\/#\/schema\/person\/e7948c7a175d211496331e4b6ce55807"},"headline":"Elevate Your Photos with the CSS3 Border-Image Property","datePublished":"2012-06-27T13:01:58+00:00","dateModified":"2025-04-03T17:09:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/"},"wordCount":521,"commentCount":14,"publisher":{"@id":"https:\/\/www.hongkiat.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.jpg","keywords":["CSS","HTML","HTML5 \/ CSS3 Tutorials"],"articleSection":["Coding","Web Design"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/","url":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/","name":"Elevate Your Photos with the CSS3 Border-Image Property - Hongkiat","isPartOf":{"@id":"https:\/\/www.hongkiat.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#primaryimage"},"image":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#primaryimage"},"thumbnailUrl":"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.jpg","datePublished":"2012-06-27T13:01:58+00:00","dateModified":"2025-04-03T17:09:55+00:00","description":"HTML and CSS have always allowed us to frame our content with borders, offering styles like solid, dotted, and dashed lines. However, the introduction of","breadcrumb":{"@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hongkiat.com\/blog\/css3-border-image\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#primaryimage","url":"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.jpg","contentUrl":"https:\/\/assets.hongkiat.com\/uploads\/css3-border-image\/border-image-slice.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hongkiat.com\/blog\/css3-border-image\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hongkiat.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Elevate Your Photos with the CSS3 Border-Image Property"}]},{"@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-3Fj","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/14093","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=14093"}],"version-history":[{"count":5,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/14093\/revisions"}],"predecessor-version":[{"id":73527,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/posts\/14093\/revisions\/73527"}],"wp:attachment":[{"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/media?parent=14093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/categories?post=14093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/tags?post=14093"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.hongkiat.com\/blog\/wp-json\/wp\/v2\/topic?post=14093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}