- #110
- #109
- #108
- #107
- #106
- #105
- #104
- #103
- #102
- #101
- #100
- #99
- #98
- #97
- #96
- #95
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
Organize Tailwind and UI variable
Recently, developing a new architecture has been fulfilling. We listed some best practices and tried to implement them in the project. One of them is “no magic numbers should exist in each UI component.” For example, a card has size variants, with the large version having a maximum width of 600px and the small version having a maximum width of 300px.
If you don’t think too much and write it in Tailwind, it might look like this:
lg:max-w-[600px] max-w-[300px]
. But having these magic numbers throughout the product can be quite a headache!!! Especially in situations where:- The design side lacks a good design system (design however you want)
- The development side is strictly scrutinized for Pixel Perfect (treating RWD like AWD)
This can result in beautifully crafted poop 💩.
UI designers should also pay attention to the fact that every value in the design should have a basis behind it. If the product is not a one-time development, then establishing a design system is essential. Collaborating with the front end, if a lot of the early UI work is done well, the front end can also benefit (how to slice components, how to manage them, what interfaces to open, how to name them…).
Returning to the main topic, please define a name for each value. If that’s really not possible, define variables within the component instead of hardcoding values.
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1