search
HomeWeb Front-endHTML Tutorial那些 CSS 的设计失误(译)_html/css_WEB-ITnose

CSS Working Group 写的 Incomplete List of Mistakes in the Design of CSS 。译的不好,请见谅。

译文:

That should be corrected if anyone invents a time machine. :P如果有人发明了时光机,这些应该被纠正。:P

  • white-space: nowrap should be white-space: no-wrap
    • and line wrapping behavior should not have been added to white-space
  • white-space: nowrap 应该是 white-space: no-wrap
    • 并且超出容器是否换行不应该在 white-space 中设置
  • vertical-align should not apply to table cells. Instead the CSS3 alignment properties should exist in Level 1.
  • vertical-align 不应该能作用在表格元素上。相应的,CSS 1 就该有CSS3 中的对齐属性。
  • vertical-align: middle should be text-middle because it's not really in the middle.
  • vertical-align 应该是 text-middle,因为它并不是真正的居中。
  • Percentage heights should be calculated against fill-available rather than being undefined in auto situations.
  • 不知道怎么译。
  • Table layout should be sane.
  • Table 布局是合理的。
  • No naked text mixing with elements. All raw text should have an addressable, stylable element wrapping it, created by CSS if necessary.
  • 纯文本不能和元素混在一起。所有的纯文本应该被一个可定位的,可样式化的元素包裹,如果有必要的化,该元素可以由 CSS 来创建。
  • Box-sizing should be border-box by default.
  • Box-sizing 的默认值应该是 border-box。
  • background-size with one value should duplicate its value, not default the second one to auto.
  • background-size 如果只设置一个值,第二个值应该是设置的值,而应该是 auto。
  • background-position and border-spacing (all 2-axis properties) should take vertical first, to match with the 4-direction properties like margin.
  • background-position 和 border-spacing 应该和 margin 一致:先取 垂直的值,然后是水平值。
  • z-index should be called z-order or depth and should Just Work on all elements (like it does on flex items).
  • z-index 应该被叫做 z-order 或 depth, 并且应该对所有元素上都有效(目前只对 positon 不为 static 的元素有效。译者注)(就像 flex items 一样)。
  • word-wrap/overflow-wrap should not exist. Instead, overflow-wrapshould be a keyword on 'white-space', like nowrap (no-wrap).
  • word-wrap/overflow-wrap 不应该存在。overflow-wrap 应该是 'white-space' 上的一个值,和 nowrap (no-wrap)一样。
  • The top and bottom margins of a box should never have been allowed to collapse together automatically as this is the root of all margin-collapsing evil.
  • 盒子间的上方和下方是间距(margin)不应该被自动折叠,这也就是 间距折叠地狱的根源
  • Partial collapsing of margins instead of weird rules to handle min/max-heights?
  • 部分的折叠间距而不是用怪异的规则来处理最小/最大高度的问题?
  • Tables (and other non-blocks, e.g. flex containers) should form pseudo-stacking contexts.
  • 表格(以及其他非块级元素,如 flex 容器)应该有 pseudo-stacking (什么鬼。。。)上下文。
  • The currentcolor keyword should have a dash, current-color.
  • 关键字 currentcolor 应该中间有个分号,current-color。
  • There should have been a predictable color naming system instead of arbitrary X11 names.
  • 应该有一个可预期的颜色命名系统而不是随意的名字。
  • border-radius should have been corner-radius.
  • border-radius 应该叫 corner-radius。
  • Absolutely-positioned replaced elements should stretch when opposite offset properties (e.g. left+right) are set, instead of being start-aligned.
  • 当相反的定位属性(如 left 和 right)被设置时,绝对定位的元素应该撑大,而不是只是根据开始值来定位。
  • The hyphens property should be called hyphenate. (It's called hyphens because the XSL:FO people objected to hyphenate.)
  • 连字符属性应该被叫做连字符。(被叫做连字符属性因为人们拒绝用连字符)(怎么都觉得怪怪的。。。译者注)
  • rgba() and hsla() should not exist, rgb() and hsl() should have gotten an optional fourth parameter instead (and the alpha value should have used the same format as R, G, and B or S and L).
  • rgba() 和 hsla() 不应该存在, rgb() 和 hsl() 应该有第四个可选的参数(并且 alpha 的值的格式应该和 R,G 和 B 或 S 和 L 的一致)。
  • descendant combinator should have been »and indirect sibling combinator should have been ++, so there's some logical relationships among the selectors' ascii art
  • 后代选择器应该是 » 不相邻的兄弟选择器应该是 ++,这样通过选择器可以知道元素间逻辑上的关系。
  • the -blend-mode properties should've just been -blend
  • -blend-mode属性应该叫 -blend 就可以了。
  • The syntax of unicode ranges should have consistent with the rest of CSS, likeu0001-u00c8.
  • unicode 的范围语法应该和 CSS 的其他语法一致,如 u0001-u00c8。
  • font-family should have required the font name to be quoted (like all other values that come from “outside” CSS). The rules for handling unquoted font names make parsing font stupid, as it requires a font-size value for disambiguation.
  • 字体设置名字时应该用双引号来包住字体名称(就像其他来自“外部”的CSS一样)。这规则导致解析没被双引号包含的字体的方式很傻,因为这让字体大小的值变得有歧义。
  • Flexbox should have been less crazy about flex-basis vs width/height. Perhaps: if width/height is auto, use flex-basis; otherwise, stick with width/height as an inflexible size. (This also makes min/max width/height behavior fall out of the generic definition.)
  • 不知道怎么译。
  • :empty should have been :void, and :empty should select items that contain only white space
  • :empty 应该叫 :void,并且 :empty 包括只内容只有空格的元素。
  • table-layout: fixed; width: auto should result in a fill-available table with fixed-layout columns.
  • 不知道怎么译。
  • 'text-orientation' should have had upright as the initial value (given the latest changes to 'writing-mode').
  • 'text-orientation' 的初始值应该是 upright(不知道怎么译)。
  • The @import rule is required to (a) always hit the network unless you specify cache headers, and (b) construct fresh CSSStyleSheet objects for every import, even if they're identical. It should have had more aggressive URL-based deduping and allowed sharing of stylesheet objects.
  • 不知道怎么译。
  • Selectors have terrible future-proofing. We should have split on top-level commas, and only ignored unknown/invalid segments, not the entire thing.
  • 选择器有个糟糕的未知的特性。我们应该将选择器按逗号分隔,只忽略未知或非法的部分,而不是全部。
  • :link should have had the :any-link semantics all along.
  • :link 应该有 :any-link 的意思。(关于见 :any-link 的介绍见 What's the :any-link pseudo-class for? 译者注)。
  • The flex shorthand (and flex-shrink and flex-grow longhands) should accept fr units instead of bare numbers to represent flex fractions.
  • flex的简写(全写是flex-shrink 和 flex-grow)应该介绍 fr 单位(什么鬼) 而不是仅仅是数字来表示缩放的权重。
  • The display property should be called display-type.
  • display 属性应该为 display-type。

本文遵守创作共享CC BY-NC-SA 4.0协议网络平台如需转载必须与本人联系确认。

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
HTML vs. CSS and JavaScript: Comparing Web TechnologiesHTML vs. CSS and JavaScript: Comparing Web TechnologiesApr 23, 2025 am 12:05 AM

HTML, CSS and JavaScript are the core technologies for building modern web pages: 1. HTML defines the web page structure, 2. CSS is responsible for the appearance of the web page, 3. JavaScript provides web page dynamics and interactivity, and they work together to create a website with a good user experience.

HTML as a Markup Language: Its Function and PurposeHTML as a Markup Language: Its Function and PurposeApr 22, 2025 am 12:02 AM

The function of HTML is to define the structure and content of a web page, and its purpose is to provide a standardized way to display information. 1) HTML organizes various parts of the web page through tags and attributes, such as titles and paragraphs. 2) It supports the separation of content and performance and improves maintenance efficiency. 3) HTML is extensible, allowing custom tags to enhance SEO.

The Future of HTML, CSS, and JavaScript: Web Development TrendsThe Future of HTML, CSS, and JavaScript: Web Development TrendsApr 19, 2025 am 12:02 AM

The future trends of HTML are semantics and web components, the future trends of CSS are CSS-in-JS and CSSHoudini, and the future trends of JavaScript are WebAssembly and Serverless. 1. HTML semantics improve accessibility and SEO effects, and Web components improve development efficiency, but attention should be paid to browser compatibility. 2. CSS-in-JS enhances style management flexibility but may increase file size. CSSHoudini allows direct operation of CSS rendering. 3.WebAssembly optimizes browser application performance but has a steep learning curve, and Serverless simplifies development but requires optimization of cold start problems.

HTML: The Structure, CSS: The Style, JavaScript: The BehaviorHTML: The Structure, CSS: The Style, JavaScript: The BehaviorApr 18, 2025 am 12:09 AM

The roles of HTML, CSS and JavaScript in web development are: 1. HTML defines the web page structure, 2. CSS controls the web page style, and 3. JavaScript adds dynamic behavior. Together, they build the framework, aesthetics and interactivity of modern websites.

The Future of HTML: Evolution and Trends in Web DesignThe Future of HTML: Evolution and Trends in Web DesignApr 17, 2025 am 12:12 AM

The future of HTML is full of infinite possibilities. 1) New features and standards will include more semantic tags and the popularity of WebComponents. 2) The web design trend will continue to develop towards responsive and accessible design. 3) Performance optimization will improve the user experience through responsive image loading and lazy loading technologies.

HTML vs. CSS vs. JavaScript: A Comparative OverviewHTML vs. CSS vs. JavaScript: A Comparative OverviewApr 16, 2025 am 12:04 AM

The roles of HTML, CSS and JavaScript in web development are: HTML is responsible for content structure, CSS is responsible for style, and JavaScript is responsible for dynamic behavior. 1. HTML defines the web page structure and content through tags to ensure semantics. 2. CSS controls the web page style through selectors and attributes to make it beautiful and easy to read. 3. JavaScript controls web page behavior through scripts to achieve dynamic and interactive functions.

HTML: Is It a Programming Language or Something Else?HTML: Is It a Programming Language or Something Else?Apr 15, 2025 am 12:13 AM

HTMLisnotaprogramminglanguage;itisamarkuplanguage.1)HTMLstructuresandformatswebcontentusingtags.2)ItworkswithCSSforstylingandJavaScriptforinteractivity,enhancingwebdevelopment.

HTML: Building the Structure of Web PagesHTML: Building the Structure of Web PagesApr 14, 2025 am 12:14 AM

HTML is the cornerstone of building web page structure. 1. HTML defines the content structure and semantics, and uses, etc. tags. 2. Provide semantic markers, such as, etc., to improve SEO effect. 3. To realize user interaction through tags, pay attention to form verification. 4. Use advanced elements such as, combined with JavaScript to achieve dynamic effects. 5. Common errors include unclosed labels and unquoted attribute values, and verification tools are required. 6. Optimization strategies include reducing HTTP requests, compressing HTML, using semantic tags, etc.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Safe Exam Browser

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.