In this article, I will show you some CSS tips through some examples, so that you can know how to use CSS cascade to become more friendly and reduce unnecessary requirements. This also reduces the trouble encountered in weighting.
Tip 1: Styles always appear as a combination of specific attributes
A good example is the combination of color and baking-color. Unless you are only making small adjustments, you need to adjust them all together. When adding a background color to an element, it may not contain any text, but may have some child elements. Therefore, by setting the foreground-color and background-color together, we can always be sure that these elements will not encounter any legibility and contrast problems. Next time we change the background color, we don’t have to look around for the text color to change because they all appear together as a group.
Tip 2: Use dynamic values, such as currentColor and em, etc.
Sometimes the text color is also used on other attributes. For example, border, box-shadow or fill in SVG icons. An alternative to defining the same color is to use currentColor directly. By default, color is inheritable, and you only need to modify it in one place to change the color of other properties.
Similarly, using em units for the font-size attribute allows you to change the box model size of the element by just modifying the :root's font-size.
Tip 3: Use the inherit attribute value to inherit the style of its parent element to override the UA's own style.
For form controls such as buttons and inputs, different browsers will have their own styles (UA styles). We can use inherit to inherit the style of its parent element, thereby overriding the browser's UA style.
button, input, select, textarea { color: inherit; font-family: inherit; font-style: inherit; font-weight: inherit; }
The above example code is taken from sanitize.css, normalize.css is also used in this way. If you don't use it this way, it means you have...
You can also try input[type="range"], input[type="radio"] and input[type="checkbox"], etc. Directly use the currentColor attribute introduced earlier on the element to automatically match the color. Maybe you don't need to change anything, you can change a bright color to a dark color.
Tip 4: Whenever you write CSS, you want to get as close to the top of the tree as possible. In other words, go back to :root.
For example, our website has a sidebar and we want to add a short personal introduction to this sidebar. The structure of the HTML may look like this:
<body> <main class=“Posts”> <aside class=“SideBar”> <nav class=“Nav”> <p class=“Bio”>
The CSS is written like this:
.Bio { font-size: .8em; line-height: 1.5; color: #888; }
Written like this, it can work normally and there is no style problem. However, the sidebar also has a navigation nav, and it's likely that they have some styles that are the same. In our example font-size and color are the same. Let's extract these properties from nav and .Bio and add them to its parent element .SideBar:
.SideBar { font-size: .8em; color: #888; }
It turns out that line-height:1.5; is already set in .Posts. It seems that the entire page uses the same line height, then we can move the line-height in .Bio and .Posts to the root element:
:root { line-height: 1.5; }
This seems to be a CSS common sense, but he does not would be too focused on sibling elements defining the same thing. This also allows you to find that some code is duplicated. In fact, this is not terrible, because we only need to spend some time to refactor the code, but this maintains the health of CSS code processing.
Write styles on the branches, not on the leaves
The above is the detailed content of Tips to make CSS weights more friendly. For more information, please follow other related articles on the PHP Chinese website!

There's been a run of tools, articles, and resources about color lately. Please allow me to close a few tabs by rounding them up here for your enjoyment.

Robin has covered this before, but I've heard some confusion about it in the past few weeks and saw another person take a stab at explaining it, and I wanted

I absolutely love the design of the Sandwich site. Among many beautiful features are these headlines with rainbow underlines that move as you scroll. It's not

Many popular resume designs are making the most of the available page space by laying sections out in a grid shape. Let’s use CSS Grid to create a layout that

Page reloads are a thing. Sometimes we refresh a page when we think it’s unresponsive, or believe that new content is available. Sometimes we’re just mad at

There is very little guidance on how to organize front-end applications in the world of React. (Just move files around until it “feels right,” lol). The truth

Most of the time you don’t really care about whether a user is actively engaged or temporarily inactive on your application. Inactive, meaning, perhaps they

Wufoo has always been great with integrations. They have integrations with specific apps, like Campaign Monitor, Mailchimp, and Typekit, but they also


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Atom editor mac version download
The most popular open source editor

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Zend Studio 13.0.1
Powerful PHP integrated development environment