Home

Awesome

Building-real-user-interfaces-using-tailwind

Examples of building realworld user interfaces using Tailwind.css

The websites that I have tried to replicate are:

<p float="left"> <a href="https://realworld-ui-tailwind.netlify.com/shopify/" target="_blank"><img alt="Shopify" src="https://raw.githubusercontent.com/asvny/building-realworld-user-interfaces-using-tailwind/master/img/shopify.png" width="49%" /></a> <a href="https://realworld-ui-tailwind.netlify.com/spotify/" target="_blank"> <img atl="Spotify" src="https://raw.githubusercontent.com/asvny/building-realworld-user-interfaces-using-tailwind/master/img/spotify.png" width="49%" /></a> </p> <p float="left"> <a href="https://realworld-ui-tailwind.netlify.com/netlify/" target="_blank"> <img alt="Netlify" src="https://raw.githubusercontent.com/asvny/building-realworld-user-interfaces-using-tailwind/master/img/netlify.png" width="49%" /></a> <a href="https://realworld-ui-tailwind.netlify.com/atlassian/" target="_blank"> <img alt="Atlassian" src="https://raw.githubusercontent.com/asvny/building-realworld-user-interfaces-using-tailwind/master/img/atlassian.png" width="49%" /></a> </p>

Thoughts on Atomic CSS

Since there are already lots of posts, I'll just brief the intro part. For a very long time (from 2014), my preference has always been

Why ? It is because when you work on a greenfield project, the base UI components doesn't change much and mostly it usually changes in color or typography and main project UIs change very frequently and so therefore it is necessary to consider that deletion of code should become easier when coding new UIs. To achieve this, using atomic css in the main product for layouts and all other cases, it becomes the only source. So, when a designer comes in with a new UI, it feels quite easier to delete the already coded template or react/ember/vue or in this case any other component and quickly again, we can iterate on the new UI without writing any additional CSS but only the template part.

When things get messy ?

<!--
Usually in frontend frameworks, we use .map(js) or #each(hbs) to loop over data, it becomes difficult
to achieve the following example 
-->

<ul class="p-0 m-0">
  { data.map(item => `
  <li class="bt-gray-500">{item.title}</li>
  `) }
</ul>

<!-- Outcome

Rachel Green 
---------------
Monica Geller 
---------------
Joey Tribbiani 
---------------
Chandler Bing  
--------------- (This should not be displayed)

Expected

Rachel Green 
---------------
Monica Geller 
---------------
Joey Tribbiani 
---------------
Chandler Bing

-->

Author

Annamalai Saravanan