I personally summarized some experience in developing css framework and made a fool of myself. I hope your discussion will enable us to make progress together. :)
1. CSS framework
China’s Internet industry has developed for 10 years, and browsers have also evolved from the earliest popular NS to the current FF3.IE7 and so on... The position of front-end development engineer was also born. In recent years, there has been a very popular word in web development - "framework". JavaScript frameworks such as YUI, JQuery, and Prototype have indeed become powerful tools for front-end development engineers when developing websites. why? Because the framework includes tools, function libraries, conventions, and attempts to abstract common modules from common tasks that can be reused, allowing designers and programmers to avoid repeated development. In layman's terms, it saves most of the time on repetitive work.
The same goes for writing css. From the beginning, it was just defining text color and content layout, to now defining all performances. The CSS framework has gradually received more attention, because everyone realizes that extracting abstract modules from concrete expressions for reuse is the most important means to reduce user downloads and facilitate team and individual development.
2. Development sequence of css framework
a) Format reset.css
The real benefit of formatting css is that it can start work quickly. You can introduce the framework into a new HTML file without having to deal with resetting padding and margins. , to achieve unified layout and the same performance under the browser.
b) Layout layout.css
Define whether the page is two columns or three columns, full screen or 1024×768...
A website design may have many kinds of layouts, but most of them are composed of several complex layouts. Practical layout composition, selectively introduce the required layout, and you can quickly apply the desired page layout.
c) Basic style type.css
Define the font size and color of body, h1-h6, a:link-a:active, p, etc.
CSS reference of basic styles, such as defining ul class as "ul-text" to display the same icon, line spacing, and link color.
You can also apply it like this: class="ul-text square", the square icon is displayed in front of the li.
d) Table modification table.css
Define the performance of tags such as table, tr, td, th, thead, tfoot, tbody, and caption.
It is the same as the basic style, but the presentation form of the table on the existing website is almost all data processing, so the references are stored separately. For example, if table-style-1 is applied to a table, it will be a table with a black border, and table-style-2 will be a table with a yellow border.
e) Form modification form.css
Define the performance of fieldset, label, button, input, select, and textarea labels.
Most websites’ forms, buttons, and input boxes are almost the same. The reason why this css is introduced is to facilitate unified display in various browsers. The display of default buttons, input boxes, etc. in various browsers is very different. Although it has been initially unified in the formatted css, the borders of the input boxes and the styles of the buttons need to be defined in this css. Unfortunately, the selection cannot be unified. If you consider using js to implement it, the cost is too high.
f) Print modification print.css
Modify the printed output page.
g) CSS that contains other css
frontpage.css, list.css, detail.css, register.css, etc.
Introduce the corresponding CSS according to various references. For example, if there is no table modification in the list page, table.css will not be introduced. to save code.
3. Creation of css framework folder
a) core mainly
stores reset.css, layout.css, type.css, print.css
b) bud module
stores table.css, form.css, album .css and other css
c) petal specific application
Store encapsulated css. frontpage.css, llist.css, detail.css, register.css and other css. The css stored in this folder are directly referenced.
The naming of the folder is based on personal preference! I also hope to name it with electrons, protons, etc. hey-hey!
4. Advantages of CSS framework
a) Improve development efficiency.
b) Standardized name definition for easy maintenance.
c) Standardize the project development process
d) The css code is clearer and simpler. The html code is more reasonable.
5. Disadvantages of CSS framework.
a) Increased learning costs. You need to understand the entire framework and read the framework's documentation.
b) The css framework is bloated for pages such as a small project. There may be a lot of code in the framework that you won't use.
c) It may not help your skills improve. Too dependent on the framework, making it difficult to troubleshoot bugs. Including bugs inherent in the framework.
d) It is painful to choose the framework and development framework you need. After writing it, I found that it was becoming more and more inflexible and bloated. Sorry -_-
6. Common problems encountered in developing and using CSS frameworks.
1. There are too many external reference styles on the page.
For example, the margin definition of ul will be declared as 0 in the formatted css, and margin: 5px 10px may be declared in the basic style css;
So there will be multiple definitions in Yslow.
2. Consideration of component reusability.
For example, the css of the form definition defines all the form modifications, and it is assumed that only 30% of this css is needed in the registration page. Should we cut out the unnecessary 70%?
Based on the above two problems, I personally think that the solution is to encapsulate, so that what should be there and what should not be there are not. Try to reduce the number of http connections and the size of css. But if this is done completely, the reusability of CSS will become very poor, and manual encapsulation in the later stage will be very painful. We can only apply Xiao Ma’s words: “Specific circumstances require specific analysis.” Life is really a contradiction...
3. Should we support em?
It can be seen that if we want to support em, the biggest purpose is to be able to freely scale the browser according to the user's resolution. For users with extremely large monitors and small Monitor users are very useful. However, after collecting the browser data of our users, we found that there are very few users who are at these two ends. It is conceivable that it is obviously not cost-effective to spend more than twice the normal development time for these users, so When we were developing tbsp, our team decided not to support em. Of course, this is a suggestion, and we also hope to use em to give users the best experience.
The above six points are the thoughts and summaries of my and the entire Taobao UED team’s daily development. You may have some different opinions. That’s okay. Leave us a message and let’s discuss it together!
The above is the content of the CSS tutorial on CSS framework web design. For more related articles, please pay attention to the PHP Chinese website (www.php.cn)!

Choosing Flexbox or Grid depends on the layout requirements: 1) Flexbox is suitable for one-dimensional layouts, such as navigation bar; 2) Grid is suitable for two-dimensional layouts, such as magazine layouts. The two can be used in the project to improve the layout effect.

The best way to include CSS files is to use tags to introduce external CSS files in the HTML part. 1. Use tags to introduce external CSS files, such as. 2. For small adjustments, inline CSS can be used, but should be used with caution. 3. Large projects can use CSS preprocessors such as Sass or Less to import other CSS files through @import. 4. For performance, CSS files should be merged and CDN should be used, and compressed using tools such as CSSNano.

Yes,youshouldlearnbothFlexboxandGrid.1)Flexboxisidealforone-dimensional,flexiblelayoutslikenavigationmenus.2)Gridexcelsintwo-dimensional,complexdesignssuchasmagazinelayouts.3)Combiningbothenhanceslayoutflexibilityandresponsiveness,allowingforstructur

What does it look like to refactor your own code? John Rhea picks apart an old CSS animation he wrote and walks through the thought process of optimizing it.

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

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