Adding Styles

3 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€65.43
List Price:  €93.47
You save:  €28.04
£55.38
List Price:  £79.12
You save:  £23.73
CA$95.75
List Price:  CA$136.80
You save:  CA$41.04
A$107.11
List Price:  A$153.03
You save:  A$45.91
S$95.36
List Price:  S$136.24
You save:  S$40.87
HK$547.90
List Price:  HK$782.75
You save:  HK$234.85
CHF 63.27
List Price:  CHF 90.39
You save:  CHF 27.12
NOK kr772.60
List Price:  NOK kr1,103.76
You save:  NOK kr331.16
DKK kr487.88
List Price:  DKK kr697.01
You save:  DKK kr209.12
NZ$117.84
List Price:  NZ$168.36
You save:  NZ$50.51
د.إ257.06
List Price:  د.إ367.25
You save:  د.إ110.18
৳7,700.43
List Price:  ৳11,001.09
You save:  ৳3,300.65
₹5,837.33
List Price:  ₹8,339.41
You save:  ₹2,502.07
RM333.67
List Price:  RM476.70
You save:  RM143.02
₦92,489.99
List Price:  ₦132,134.22
You save:  ₦39,644.23
₨19,533.24
List Price:  ₨27,905.82
You save:  ₨8,372.58
฿2,588.46
List Price:  ฿3,697.97
You save:  ฿1,109.50
₺2,275.23
List Price:  ₺3,250.47
You save:  ₺975.23
B$358.08
List Price:  B$511.57
You save:  B$153.48
R1,314.42
List Price:  R1,877.82
You save:  R563.40
Лв127.95
List Price:  Лв182.79
You save:  Лв54.84
₩96,452.39
List Price:  ₩137,795.03
You save:  ₩41,342.64
₪267.23
List Price:  ₪381.78
You save:  ₪114.54
₱4,034.64
List Price:  ₱5,764.02
You save:  ₱1,729.38
¥11,065.06
List Price:  ¥15,807.91
You save:  ¥4,742.85
MX$1,201.03
List Price:  MX$1,715.83
You save:  MX$514.80
QR255.83
List Price:  QR365.49
You save:  QR109.65
P965.79
List Price:  P1,379.76
You save:  P413.97
KSh9,296.24
List Price:  KSh13,280.92
You save:  KSh3,984.67
E£3,349.82
List Price:  E£4,785.67
You save:  E£1,435.84
ብር4,026.64
List Price:  ብር5,752.60
You save:  ብር1,725.95
Kz58,375.85
List Price:  Kz83,397.65
You save:  Kz25,021.80
CLP$66,628.33
List Price:  CLP$95,187.41
You save:  CLP$28,559.08
CN¥507.11
List Price:  CN¥724.48
You save:  CN¥217.36
RD$4,113.13
List Price:  RD$5,876.15
You save:  RD$1,763.02
DA9,393.54
List Price:  DA13,419.92
You save:  DA4,026.38
FJ$158.35
List Price:  FJ$226.22
You save:  FJ$67.87
Q545.71
List Price:  Q779.62
You save:  Q233.91
GY$14,678.83
List Price:  GY$20,970.66
You save:  GY$6,291.82
ISK kr9,808.34
List Price:  ISK kr14,012.52
You save:  ISK kr4,204.17
DH708.72
List Price:  DH1,012.51
You save:  DH303.78
L1,243.72
List Price:  L1,776.81
You save:  L533.09
ден4,025.16
List Price:  ден5,750.48
You save:  ден1,725.31
MOP$565.76
List Price:  MOP$808.27
You save:  MOP$242.50
N$1,323.80
List Price:  N$1,891.23
You save:  N$567.42
C$2,582.07
List Price:  C$3,688.83
You save:  C$1,106.76
रु9,353.99
List Price:  रु13,363.42
You save:  रु4,009.42
S/263.57
List Price:  S/376.55
You save:  S/112.97
K270.82
List Price:  K386.91
You save:  K116.08
SAR262.49
List Price:  SAR375
You save:  SAR112.51
ZK1,859.31
List Price:  ZK2,656.27
You save:  ZK796.96
L325.94
List Price:  L465.65
You save:  L139.71
Kč1,644.39
List Price:  Kč2,349.23
You save:  Kč704.84
Ft25,663.75
List Price:  Ft36,664.08
You save:  Ft11,000.32
SEK kr762.14
List Price:  SEK kr1,088.81
You save:  SEK kr326.67
ARS$61,304.48
List Price:  ARS$87,581.58
You save:  ARS$26,277.10
Bs486.59
List Price:  Bs695.16
You save:  Bs208.56
COP$277,527.04
List Price:  COP$396,484.19
You save:  COP$118,957.15
₡35,650.64
List Price:  ₡50,931.67
You save:  ₡15,281.02
L1,732.56
List Price:  L2,475.19
You save:  L742.63
₲522,432.19
List Price:  ₲746,363.69
You save:  ₲223,931.50
$U2,704.33
List Price:  $U3,863.50
You save:  $U1,159.16
zł282.07
List Price:  zł402.98
You save:  zł120.90
Already have an account? Log In

Transcript

At this point, I'm pretty happy with how the app is working, but not so happy with how it looks, which leads nicely into our next subject styling your react app. When it comes to adding styles and react, there are many different flavors to choose from. There's plain old CSS, CSS preprocessors, like sass, CSS modules, CSS in j, s, and many more I could touch upon. The point is there is no right or wrong solution as it really comes down to what works for you. My recommendation to you is experiment on your own and see which of these if any, you actually like to work with. In the meantime, I'm just going to go over some basics of using plain old CSS and react.

You may have already noticed that our app contains a styles dot CSS already. This was created by code sandbox back when we first started, if we open up that file, you'll see that we have a single class named dot app with some basic CSS rules. We're not using this class right now, but we can easily add it to an element by adding the class name prop and setting the value equal to the class name. It's really is no different than how you would do it with plain HTML and CSS. The big difference here is that you're using the class name, prop The class attribute. Now when we saved you can see that our app is using these new styles as our forms now centered on the page.

One other thing you may have noticed is the import styles dot CSS line at the top of our app component. How was our js file importing a CSS file you may ask. If you're unfamiliar with bundlers, like Webpack, this might look really strange. In our case, we're lucky as Webpack was already set up for us by code sandbox and Webpack could honestly be a whole course on its own. For now, just know that once a CSS file is imported, those styles will be added to your app and are ready for use. Also, you're not restricted to keeping all your CSS in a single file.

In fact, it's common for each component to have its own dedicated CSS file. With that being said, let's go ahead and create a CSS file for our search form component. I'm going to go ahead and name this file search form dot CSS. It's also common practice for a component and its CSS file to have the same name. Not only does this help with organization in the file system, it also makes it very clear that these styles belong to this component. Now we have our CSS file ready, I'm going to go ahead and pull in some pre baked styles I created earlier Next, let's import the search form CSS into our component File and Save.

We have a closer look at search form CSS, you can see that there is a search form class inside, I'm going to go ahead and add this class to the root element in the search form component. Also, I'm going to go ahead and wrap our buttons in a div, as it's just needed to make some of these styles work. And now when I save, you see things are really starting to look better now that we have some styling. It's important to be careful when splitting CSS into separate files that you're not overriding styles in another file. Even though the search form CSS files only being imported in the component. That component is also being imported an app an app also has its own CSS file.

To demonstrate, I'm going to go ahead and add a background color to the body element in the search form dot CSS. Then I'll add a background color to the body and app CSS as well and save. As you can see the body styles in app dot CSS. In the body styles in search form dot CSS, so you have to be careful when working with multiple files. If you have a chance, I recommend taking a look at CSS modules as you don't have to worry about overriding other CSS classes as it keeps your component styles local to the component you're working in. Okay to finish up, I'm going to cheat a bit and bring in the rest of the finished styles for the app component as well.

And last but not least, our beautiful dad jokes addition Google logo. And there you have it your own fully functional dad joke search engine built in react. With the styling complete that takes care of the last item on our task list. Next up, we're going to do some high level exploration on how react works behind the scenes.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.