{"id":6303,"date":"2015-08-03T17:45:33","date_gmt":"2015-08-03T14:45:33","guid":{"rendered":"http:\/\/www.webcodegeeks.com\/?p=6303"},"modified":"2015-08-03T17:33:08","modified_gmt":"2015-08-03T14:33:08","slug":"approaching-responsive-design","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/","title":{"rendered":"Approaching Responsive Design"},"content":{"rendered":"<p>Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web application responsive.<\/p>\n<p>Although there are plenty of other benefits to responsive design, a main benefit is that\u00a0there is now no need to create an application for every device out there. The use of mobile devices to accomplish what a user can do on a desktop is growing at an considerable pace, so it would be wise for any front-end developer to ensure a web application is ready to adapt to a plethora of screen sizes. I was excited to learn how to do just that, and what better way than the need\u00a0to create another mobile version of an\u00a0application.<\/p>\n<p>This won\u2019t be a tutorial on how to use, say, Bootstrap for example, to create a responsive application. There are hundreds of tutorials online and a good start can be found just be directing oneself to the <a title=\"\" href=\"https:\/\/getbootstrap.com\/css\/\">Bootstrap CSS<\/a> site. Rather, this is a little snippet of some random unforeseen issues a responsive newbie like myself can encounter while developing in the responsive front-end world.<\/p>\n<h2>First, let\u2019s start with the iPhone.<\/h2>\n<p>Let\u2019s say you create a Bootstrap responsive application with all the bells and whistles to get your application reorganizing and looking great while resizing your screen on a desktop. But this doesn\u2019t work on an iPhone.<\/p>\n<p>Why? I suggest that you ensure a ViewPort Metatag is included in your tag to allow mobile browsers to control the layout. Mobile browsers render pages in a virtual window or viewport. Mobile Safari introduced the ViewPort Metatag to allow developers control of the size and scale of the viewport.<\/p>\n<p>For only portrait view add the following:<\/p>\n<pre class=\" brush:perl\">&lt;meta name=\"viewport\" content=\"width=device-width, inital-scale=1.0\"&gt;<\/pre>\n<p>To allow for landscape view as well, add the following:<\/p>\n<pre class=\" brush:perl\">&lt;meta name=\"viewport\" content=\"width=device-width, inital-scale=1, maximum-scale=1, user-scalable=0\"&gt;<\/pre>\n<p><strong>Note:<\/strong> The most recent version of Bootstrap actually requires this tag to be included in your responsive application since Bootstrap likes to claim itself as being \u201cmobile first.\u201d<\/p>\n<p>In my current project, a defect (well, more like an annoyance) arose that dealt with iOS devices, particularly iPhones. The defect dealt with the common iOS behavior of zooming in a little when selecting an input box or select option. In this case, once the user leaves focus, it stayed zoomed in and ended up sort of throwing the entire view of the container out of whack.<\/p>\n<p>Since now the user has to horizontally or vertically scroll to see the entire container because of this zoom. It appears, for iPhones, the browser tries to zoom the area since the font size is less than the threshold. Bootstrap\u2019s default font-size is 14px, which causes the zoom effect. A size of 16px or 1em is appropriate to meet this threshold.<\/p>\n<p>Applying the following CSS\u00a0ironed out all text\/number inputs:<\/p>\n<pre class=\" brush:perl\">input[type='text'],\r\ninput[type='number'],\r\ntextarea {\r\n  \tfont-size: 1em;\r\n}<\/pre>\n<p>Since dealing with selects on mobile browsers, the text is hidden so we are safe with any unforseen layout issues. I say \u2018hidden\u2019 because these selects don\u2019t render the same as selects on desktop browsers. Each mobile OS utilizes its own native view for the user to select a value. Thereby, a work-around for us is to establish the font size to 50px and viola! No more zooming\u2026<\/p>\n<pre class=\" brush:perl\">select {\r\n\tfont-size: 50px;\r\n}<\/pre>\n<p>To change direction briefly, I have an old Nokia phone with a rinky dinky mobile browser on it and was curious to see what a responsive site looked like. I wasn\u2019t surprised to find out the browser does not support CSS media queries and so it ignored it leaving the site unresponsive and pretty much as is. One of the downfalls of an ever-evolving mobile landscape.<\/p>\n<p>Fortunately, newer versions of iOS, Android, and most mobile browsers all support CSS\u00a0media queries. There is no way to get some of these old browsers to handle or implement CSS\u00a0media queries, but an adequate solution would be to check for browser version and then create a simple mobile stylesheet to handle a similar responsive rendering. It won\u2019t look as great as a modern mobile browser, but generally, a responsive theme with backwards compatibility can still be a good thing.<\/p>\n<h2>Responsive Datatable<\/h2>\n<p>Let\u2019s switch gears a bit and take a look at how one can approach creating a responsive datatable. When dealing with datatables, I did a little research to see what was out there in terms of plugins to handle responsive tables. Boy, I didn\u2019t come up empty-handed. There exists plenty of plugin options to choose from (just to outline a few):<\/p>\n<ul>\n<li>One could perhaps scale the font which will allow the table to have the same layout but smaller font. (<a href=\"http:\/\/github.com\/ghepting\/jquery-responsive-tables\" target=\"_blank\">github.com\/ghepting\/jquery-responsive-tables<\/a>)<\/li>\n<li>There is Stackable.js, which formulates a toggle between two tables depending on the browser viewport.<\/li>\n<li>There is Tablesaw \u2013 similar to Stackable.js (<a href=\"https:\/\/github.com\/filamentgroup\/tablesaw\" target=\"_blank\">https:\/\/github.com\/filamentgroup\/tablesaw<\/a>)<\/li>\n<li>There is FooTable \u2013 (<a href=\"https:\/\/gitbub.com\/fooplugins\/FooTable\" target=\"_blank\">https:\/\/gitbub.com\/fooplugins\/FooTable<\/a>), which hides certain columns of data at different resolutions and then rows become expandable to show data that was hidden.<\/li>\n<li>Let\u2019s not forgot Bootstrap\u2019s Responsive Tables. This is great, however, to see the entire contents of the table, the user still needs to scroll horizontally.<\/li>\n<\/ul>\n<p>Another method is to use something that doesn\u2019t require the use of a plugin. There are also plenty of CSS\u00a0tricks that can rearrange the table elements to display\/hide certain items.<\/p>\n<h3>An Example<\/h3>\n<p>For a client, we skipped the plugin route and went ahead with a hide-column-and-display-a-responsive-span option in conjunction with CSS\u00a0media queries. To put it plainly, as the user switches from a laptop to an iPad to a mobile phone, the datatable hides various data columns and shows the same data under one main column. In other words, as columns disappear to make room, the same data is then grouped as rows under one stationary column.<\/p>\n<p>Here is the datatable as seen on a desktop:<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/main-datatable.png\"><img decoding=\"async\" class=\"aligncenter wp-image-6307\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/main-datatable.png\" alt=\"main-datatable\" width=\"858\" height=\"584\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/main-datatable.png 941w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/main-datatable-300x204.png 300w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/a><\/p>\n<p>Here is the same datatable seen on a mobile device:<\/p>\n<p><a href=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/Responsive-datatable.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-6308\" src=\"http:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/Responsive-datatable.png\" alt=\"Responsive-datatable\" width=\"457\" height=\"734\" srcset=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/Responsive-datatable.png 457w, https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2015\/07\/Responsive-datatable-187x300.png 187w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/a><\/p>\n<h2>Conclusion<\/h2>\n<p>Keeping up with a user who switches from a laptop to an iPad to a mobile phone to access the same application can easily be accomplished by a good responsive approach. This approach would consist of a mix of flexible grids and layouts and an intelligent use of CSS media queries.<\/p>\n<p>However, don\u2019t be surprised that some minor quirks will pop up during responsive testing. But, in my opinion, if those didn\u2019t rear their ugly heads, that would take out some of the most enjoyable aspects of UI responsive development!<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"http:\/\/keyholesoftware.com\/2015\/07\/27\/approaching-responsive-design\/\">Approaching Responsive Design<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/wcg\/\">WCG partner<\/a> Keyhole Software at the <a href=\"http:\/\/keyholesoftware.com\/\">Keyhole Software<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web application responsive. Although there are plenty of other benefits to responsive design, a main benefit is that\u00a0there is now no need to create an application for every &hellip;<\/p>\n","protected":false},"author":22,"featured_media":927,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-6303","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-web-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Approaching Responsive Design - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web\" \/>\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.webcodegeeks.com\/web-development\/approaching-responsive-design\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Approaching Responsive Design - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:author\" content=\"http:\/\/facebook.com\/keyholesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-03T14:45:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Keyhole Software\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/keyholesoftware\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Keyhole Software\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\"},\"author\":{\"name\":\"Keyhole Software\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/10701460d97ebefdaf658a4f4535fff2\"},\"headline\":\"Approaching Responsive Design\",\"datePublished\":\"2015-08-03T14:45:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\"},\"wordCount\":1104,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"articleSection\":[\"Web Dev\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\",\"name\":\"Approaching Responsive Design - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"datePublished\":\"2015-08-03T14:45:33+00:00\",\"description\":\"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Dev\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/web-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Approaching Responsive Design\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/10701460d97ebefdaf658a4f4535fff2\",\"name\":\"Keyhole Software\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/68be341bef51b95ced09befd6a7e0ca930461d95f3a64285e03e7925b8f5de47?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/68be341bef51b95ced09befd6a7e0ca930461d95f3a64285e03e7925b8f5de47?s=96&d=mm&r=g\",\"caption\":\"Keyhole Software\"},\"description\":\"Keyhole is a midwest-based consulting firm with a tight-knit technical team. We work primarily with Java, JavaScript and .NET technologies, specializing in application development. We love the challenge that comes in consulting and blog often regarding some of the technical situations and technologies we face.\",\"sameAs\":[\"http:\/\/keyholesoftware.com\/\",\"http:\/\/facebook.com\/keyholesoftware\",\"http:\/\/linkedin.com\/company\/keyhole-software\",\"https:\/\/x.com\/http:\/\/twitter.com\/keyholesoftware\"],\"url\":\"https:\/\/www.webcodegeeks.com\/author\/keyhole-software\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Approaching Responsive Design - Web Code Geeks - 2026","description":"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web","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.webcodegeeks.com\/web-development\/approaching-responsive-design\/","og_locale":"en_US","og_type":"article","og_title":"Approaching Responsive Design - Web Code Geeks - 2026","og_description":"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web","og_url":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_author":"http:\/\/facebook.com\/keyholesoftware","article_published_time":"2015-08-03T14:45:33+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","type":"image\/jpeg"}],"author":"Keyhole Software","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/keyholesoftware","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Keyhole Software","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/"},"author":{"name":"Keyhole Software","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/10701460d97ebefdaf658a4f4535fff2"},"headline":"Approaching Responsive Design","datePublished":"2015-08-03T14:45:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/"},"wordCount":1104,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","articleSection":["Web Dev"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/","url":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/","name":"Approaching Responsive Design - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","datePublished":"2015-08-03T14:45:33+00:00","description":"Coming from a Java back-end background and given the privilege to dive into the front-end space, I was finally able\u00a0see what it was like to make a web","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/web-dev-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/web-development\/approaching-responsive-design\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Web Dev","item":"https:\/\/www.webcodegeeks.com\/category\/web-development\/"},{"@type":"ListItem","position":3,"name":"Approaching Responsive Design"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/10701460d97ebefdaf658a4f4535fff2","name":"Keyhole Software","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/68be341bef51b95ced09befd6a7e0ca930461d95f3a64285e03e7925b8f5de47?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/68be341bef51b95ced09befd6a7e0ca930461d95f3a64285e03e7925b8f5de47?s=96&d=mm&r=g","caption":"Keyhole Software"},"description":"Keyhole is a midwest-based consulting firm with a tight-knit technical team. We work primarily with Java, JavaScript and .NET technologies, specializing in application development. We love the challenge that comes in consulting and blog often regarding some of the technical situations and technologies we face.","sameAs":["http:\/\/keyholesoftware.com\/","http:\/\/facebook.com\/keyholesoftware","http:\/\/linkedin.com\/company\/keyhole-software","https:\/\/x.com\/http:\/\/twitter.com\/keyholesoftware"],"url":"https:\/\/www.webcodegeeks.com\/author\/keyhole-software\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/6303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=6303"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/6303\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/927"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=6303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=6303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=6303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}