Effect preview Click to download
CSS BUG has been introduced a lot on dedecms.com and has been bothering everyone. In CSS This problem is often encountered in layout. I believe that everyone is relatively familiar with the handling of common CSS BUGs, such as: IE6 Three Pixel Gap (3px bug), IE5/6 Doubled Float-Margin Bug (double margin bug), etc. But we often encounter complex CSS BUG problems. The so-called "complex" essentially means that the triggering conditions are very complicated, and "BUG" does not necessarily mean that it is a browser BUG. For this kind of problem, the first thing we need to solve is how to locate the problem. Only by quickly locating the problem can we solve the problem better.
For quick positioning, my personal experience is generally as follows (it can basically locate more than 90% of the complex CSS BUG problems I encountered on Taobao):
1. Check whether the label of the page is closed
Don’t underestimate this. Maybe the CSS BUG problem that you haven’t solved for two days only stems from this. After all, page templates are usually nested by developers, and they can easily make such problems.
Quick tip: You can use Dreamweaver to open the file to check. Generally, if there are no closed tags, they will be highlighted with a yellow background.
2. Style elimination method
Some complex pages may load N external link CSS files, then delete the CSS files one by one, find the specific CSS files triggered by the BUG, and narrow the scope of locking.
For the problematic CSS style file just locked, delete the specific style definitions line by line, locate the specific trigger style definition, and even the specific trigger style attributes.
3. Module confirmation method
Sometimes we can also start from the HTML elements of the page. Delete different HTML modules in the page and find the HTML module that triggers the problem.
4. Check whether floats are cleared
In fact, there are many CSS BUG problems caused by not clearing floats. It is necessary to develop a good habit of clearing floats. It is recommended to use the method of clearing floats without additional HTML tags (try to avoid using similar methods like overflow:hidden;zoom:1 to clear floats, which will be too restrictive).
5. Check whether haslayout is triggered under IE
Many complex CSS bugs under IE are closely related to IE’s unique haslayout. Familiarity and understanding of haslayout will help you solve complex CSS bugs with half the effort. It is recommended to read "On having layout" translated by old9 (if you can't cross the great GFW, you can read the repost on the blue)
Quick tip: If haslayout is triggered, the properties in IE's debugging tool Internet Explorer Developer Toolbar will show that the haslayout value is -1.
6. Border and background debugging method
Hence the name, it is to set a conspicuous border or background (usually black or red) for the element for debugging. This method is one of the most commonly used methods for debugging CSS bugs, and it is still applicable to complex bugs. Affordable and environmentally friendly^^
The last thing I want to emphasize to everyone is that developing good writing habits, reducing extra tags, trying to be semantic and complying with standards can actually save us a lot of extra complex CSS BUGs, and more Sometimes we actually create trouble for ourselves. I hope everyone will stay away from bugs and live a better and better life.
Most technologies have their own agreed upon standards. CSS is no exception. While not all CSS that exists on the web is standardized, it is helpful to use CSS according to existing standards. In general, developers should separate content from structure as much as possible. The benefits of this are:
1: Increase the life of the site
Non-standard style sheets may be convenient at the time, but they are likely to appear after the new version of the browser comes out Compatibility issues. At that time, modifying the site page by page will be a very time-consuming task and it will also make the use of CSS meaningless.
2: Make your site accessible to all users and browsers.
Some local governments have legislated to require websites to be accessible to people with disabilities. Browsing devices designed for disability awareness, such as hearing browsers, have extremely strict CSS normative requirements.
3: Make site updates and maintenance easier.
When used properly, CSS allows adjustments you make on one page to be quickly applied to all pages.
The first choice you have to make is which style sheet to use. When it comes to best practices, here’s a breakdown of the different stylesheets:
Inline CSS; simply put, you should try to avoid using it. Among other disadvantages, using inline CSS means that you are not taking advantage of the real advantage of CSS, which is that you are not separating content from structure. DW MX uses Inline CSS mainly to position page elements (these elements are called "layers" in the DW MX user interface), or to use a certain DHTML effect, which requires using Inline style Javascript to change an object. properties.
Embedded CSS: It’s also sub-optimal because it only affects the current page. During the update process, if a page is lost, the style of the site will be inconsistent; in addition, when users browse your site, style sheet information must be downloaded for each page.
External CSS: This is your first choice. External CSS allows all pages connected to it to maintain a consistent appearance and style; outline it, change it once, and easily update all related pages; make your page smaller and browse faster.