DEV Community

Cover image for All CSS Properties You Need to Know to Build a Website
Domagoj Vidovic
Domagoj Vidovic

Posted on

All CSS Properties You Need to Know to Build a Website

Whether you're at the beginning of your CSS journey or somewhere else, you got to admit - a number of CSS properties is massive.

And it's easy to confuse yourself in that vast sea. 

You're copying code from StackOverflow until you find a solution that fits. But how will that scale? Why does it even work?

Most of the time, you don't care about the answer. You just focus on the result.

When building a website, some of the CSS properties are must-haves; yet, it's hard to recognize them. 

This article exists to help you solve the most common CSS problems while building a website.

Let's dive into properties you cannot avoid.


1. display: flex;

Do you need to center an element?

Googling that will likely offer tens of different solutions; however, you'll need only one most of the time.

.your-class-name {
  display: flex;
  justify-content: center;
  align-items: center;
}
Enter fullscreen mode Exit fullscreen mode

display: flex; will align your child elements one next to each other in a horizontal row. Tip: you can add flex-direction: column; to change it to a vertical row.

flex-direction determines your main axis. Default value is row.

justify-content: center; will align the items on your main axis. That means the item will be horizontally centered for our code snippet.

align-items controls your cross axis, i.e. your elements are vertically centered.

You can pass many attributes here, but I'll mention only one: justify-content: space-between;. This will distribute the elements across the row without any margins at the beginning or end.


2. margin

This property will determine the distance between certain elements.

.your-class-name {
  margin-top: 16px;
  margin-right: 12px;
  margin-bottom: 16px;
} 
// shorthand
.your-class-name {
  margin: 16px 12px;
}
Enter fullscreen mode Exit fullscreen mode

You can directly connect properties with sides by doing margin-top, margin-right, etc., or cover everything with a single margin property:

margin: {{ top }} {{ right }} {{ bottom }} {{ left }};
Enter fullscreen mode Exit fullscreen mode

If you omit bottom, it will inherit top (check out our example)! If you omit left, it will inherit right.


3. padding

At the first glance, padding looks similar to margin

The syntax is identical as margin too; shorthand as well.

Why do we need it then?

Imagine that you have a physical suitcase. You want to write something on the case.

However, you don't want to start writing in the top-left corner. You want to indent your text a bit.

For that, you will use padding. Padding influences the inside of our element.

However, if you have two suitcases next to each other and you want to make a distance between them, you'll use margin for that. 


4. background-color

This one is pretty simple and an absolute necessity. You can apply this property to most of the HTML elements.

background-color: blue;
background-color: #232323;
background-color: rgb(255, 255, 128);
background-color: rgba(255, 255, 128, 0.5);
Enter fullscreen mode Exit fullscreen mode

Attributes can vary: from a simple color name, over its HEX value, to the RGB (even HSL).

RGBA is interesting here because instead of just setting a color, you can also set the opacity. Seeing that 0.5? That means that transparency will be 50%.


5. color

color is similar to background-color; the only difference is that it influences the text's color. Everything else is the same, transparency included.


6. opacity

But we can make anything transparent!

opacity: 0.1; // 10% visibility
opacity: 0.9; // 90% visibility
Enter fullscreen mode Exit fullscreen mode

This is useful for disabled states or interesting effects.


7. width

This is a tricky one. Most of the time, you don't want to have fixed widths. Your design should be responsive and you can accomplish that with margins and paddings.

However, sometimes you need to be fixed. Maybe you want to set your icon with to 24px?

Or look at this article. Try to zoom out of the page. You'll see that it won't go from edge to edge.

That's because the whole page has max-width property. Useful to wrap your website with it.


8. height 

height is much simpler than width due to the nature of our scroll direction.

However, you'll still want to use as few fixed heights as possible. One example where you could is your header.

All the other caveats like min-height and max-height exist here too.


9. cursor: pointer;

Hover over any button on this page. Can you see how the cursor changed into a little hand?

cursor: pointer; is the reason for that. Whenever you can induce any actions (buttons, links, etc.) you need to use it.


10. font-size

This one is pretty simple and controls the sizes of your font. If you're an absolute beginner, I recommend using only px here.

However, if you want to dig deeper, investigate rem. Basically, you set your default font size in px, and all the other fonts will be relative to that base value.

For example, if your base value is 16px, 2rem will be 32px.


11. font-family

You want different fonts, right? Google Fonts are impressive and it's so easy to pick one of them, include them in your index.html, and add its name to font-family.


12. :hover

This will add any effects to a certain element on hover.

.your-class-name:hover {
  cursor: pointer;
}
Enter fullscreen mode Exit fullscreen mode

Our example will change the cursor to a pointer.


Conclusion

What if I told you that you'll solve most of your CSS problems with these 12 properties?

Sure, you'll maybe need a few more depending on your case, or you'll need to dig deeper into some of those.

But this is enough to build a solid-looking website.

Check out the bottom of the article originally published on Medium for the best CSS courses!

Latest comments (100)

Collapse
 
katobhi profile image
kato bhi

Stick War Legacy mod apk is the most famous stickman strategy game on mobile. This game will make you fall in love with a series of squad battles with top-notch strategy elements. These are battles where you don’t have to manipulate too much. Instead, you need to use intelligence and creativity to recruit soldiers and build squads to gain an advantage. The fight only ends when you defeat the opponent’s statue. But new challenges will come to you with attractive loot. Get ready to conquer all wars in all modes

Collapse
 
katobhi profile image
kato bhi • Edited

Transform your gaming experience with Match Masters' captivating free gifts! Discover exclusive rewards that will elevate your gameplay. Click here to unlock these enticing surprises and dominate the match-3 universe!

Collapse
 
katobhi profile image
kato bhi

BUSSID mod apk will let you experience what it feels like to be a bus driver in Indonesia in a fun and authentic way in 2023. BUSSID is not the first but the best game with the most features and an authentic Indonesian environment.

Collapse
 
ameliasmith11 profile image
Amelia Smith

Navigating through the multitude of CSS properties can feel overwhelming at times, but it's all part of the learning journey. Understanding that there's a vast array of CSS properties to explore and comprehend is an essential step in mastering CSS. This comment highlights the common experience of grappling with the complexities of CSS, especially within the context of this website Scarlet ipa download

Collapse
 
ameliasmith11 profile image
Amelia Smith

want to make my website for Traffic Rider hack download more beautiful by using CSS. Could you help me to share the code?

Collapse
 
vicksjhon profile image
Vicksjhon

"To build a comprehensive website, familiarize yourself with telugutechprocom fundamental CSS properties such as layout (e.g., display, position), styling (e.g., color, font), and responsiveness (e.g., media queries). Mastering these properties enables you to create visually appealing, functional, and adaptable web designs tailored to your project's needs."

Collapse
 
jamesthomas profile image
JamesThomas

To build a website, essential CSS properties include: layout (display, position, flexbox), typography (font-family, font-size, color),netspeedmonitors spacing (margin, padding), borders (border-style, border-width), backgrounds (background-color, background-image), and responsiveness (media queries). Additional properties cover effects (box-shadow, transform) and animations (animation, transition).

Collapse
 
neilson profile image
Neilson

This is a great summary of essential CSS properties for building websites! It covers the basics like display, margin, padding, background-color, and color, explaining their purposes and providing practical examples. It also dives into more advanced properties like opacity, width, height, and cursor, showcasing their applications in responsive design and user interactions.

Here are some additional points that could enhance the summary:

Visual examples: Consider adding screenshots or illustrations alongside the code snippets to make the concepts more intuitive.
Specificity and inheritance: Briefly touch on the concept of specificity (how CSS rules are prioritized) and inheritance (how styles cascade down the DOM tree).
Pseudo-classes and pseudo-elements: Expand on :hover by introducing other pseudo-classes and pseudo-elements like :active, :link, and ::after for richer styling possibilities.
Browser compatibility: Mention the importance of checking browser compatibility for specific properties and values to ensure a consistent user experience.
Overall, this is a valuable resource for anyone starting their CSS journey. With some additional enhancements, it could become an even more comprehensive and informative guide. your content helpful for creating a website and with help of your knowledge i create a website : 4k Video Downloader you can check it and give me some tips

Collapse
 
aliceshockley profile image
AliceShockley

color: Text color.
background-color: Background color.
невидимый текст
font-family: Font type.
font-size: Font size.
font-weight: Font thickness.
line-height: Line spacing.
text-align: Text alignment.
display: Element display mode.
position: Element positioning.
width: Element width.
height: Element height.
margin: Spacing outside the element.
padding: Spacing inside the element.
border: Element border.
flex: Flexible layout.
grid: Grid layout.
media queries: Responsive design.
animation: Element animations.
transition: Smooth transitions.
box-shadow: Element shadow.

Collapse
 
angelina234234 profile image
WinterAngelina

The sheer number of CSS properties can be overwhelming, implying that there is a lot to learn and understand in the realm of CSS. The message encourages acknowledgment of this fact and suggests that dealing with a multitude of CSS properties is common in the learning process. The text seems to be part of a larger context or discussion about the challenges and complexity of working with CSS in this website Scarlet iOS app download.

Collapse
 
jerry4334 profile image
jerry4334

CSS (Cascading Style Sheets) is a styling language used to control the presentation of web pages. Here is a list of common CSS properties that you might find useful for building a website Mortgage Calculator. Note that this is not an exhaustive list, as there are many CSS properties available for various purposes. This list covers properties for basic layout, typography, colors, and some advanced features.

Collapse
 
adward345 profile image
Adward345 • Edited

Building a website involves using HTML for structure and CSS (Cascading Style Sheets) for styling. CSS is a powerful language that allows you to control the presentation and layout of your web pages Monoprice. Here's a comprehensive list of CSS properties you might find useful:

Collapse
 
fzfda profile image
fzfda

Building a website involves using a wide range of CSS (Cascading Style Sheets) properties to control the layout, appearance, and behavior of your web pages. While it's not possible to list every CSS property here garage door repair company, I can provide you with an overview of some essential CSS properties and their categories:

  1. Layout Properties:

display: Specifies how an element is displayed (e.g., block, inline, flex).
position: Determines the positioning method of an element (e.g., static, relative, absolute, fixed).
float: Specifies whether an element should float to the left or right within its container.
clear: Controls how elements should clear floating elements.

Collapse
 
fzfda profile image
fzfda

Creating a website involves using a combination of HTML for structure and CSS (Cascading Style Sheets) for styling. Here's a list of essential CSS properties you'll need to know to build a website Ceramic Pro Santa Ana:

  1. Background Properties:

background-color: Sets the background color of an element.
background-image: Sets an image as the background of an element.
background-size: Controls the size of the background image.
background-position: Positions the background image.
background-repeat: Specifies how the background image should repeat.

Collapse
 
darrontrosclairson profile image
darrontrosclairson

Thanks for sharing this Top Free CSS properties to build a great website i really like it and it also helped me a lot in my projects.