首页 web前端 css教程 CSS规则层叠的应用 css必须要注意的几点_经验交流

CSS规则层叠的应用 css必须要注意的几点_经验交流

May 16, 2016 pm 12:06 PM

이론적 기초가 필요하며, 이론을 개선하고 이해하는 방법은 둘 다 똑같이 중요합니다. 둘 중 어느 쪽을 선호하든지 간에 디자이너와 개발자는 실수를 하게 됩니다. . 그러나 내가 말하는 이 방법의 실제적인 용도는 무엇인가? 분명히 둥근 사각형을 생성할 수 없고, 열 레이아웃을 생성할 수도 없으며, 문서 헤드에 고정된 탐색 모음을 제공할 수도 없습니다. 이 알고리즘의 실제 적용은 다음과 같습니다. 좋은 CSS 프로그래밍 관행. 이것은 방금 언급한 미시적 실천만큼 중요하지만 마스터하기가 훨씬 더 어려운 거시적 실천입니다.

이 글은 좋은 CSS 프로그래밍 사양을 모두 포함할 의도는 없으며, 제가 제공할 수 있는 것은 CSS 작성에 대한 개인적인 사양을 요약하는 것뿐입니다. CSS의 운영 본질.

인라인 CSS를 사용하지 마세요
사용자 스타일을 통제할 수 없습니다
중요한 규칙을 사용하지 마세요
특이성에 따라 CSS를 낮은 것부터 높은 것으로 작성하세요
처음 세 항목 내가 말하는 내용의 핵심은 아니므로 생략하겠습니다.

인라인 CSS의 특수성이 가장 높습니다. CSS 파일의 속성이 인라인 CSS와 충돌하면 CSS 파일의 속성이 유효하지 않게 됩니다. 이는 CSS에서만 스타일을 디버깅하는 습관과 다릅니다. 파일이 일치하지 않습니다. 인라인 CSS도 보기 흉합니다. HTML 문서에 스타일을 삽입하므로 버려야 합니다.

사용자가 사용자 스타일을 중요로 설정하면 CSS 규칙을 어떻게 작성하더라도 사용자의 중요한 설명을 무시할 수 없으므로 모든 사용자 스타일을 다루려고 하는 것은 소용이 없습니다. 다행히도 우리는 더 이상 이것에 대해 생각할 필요가 없습니다.

중요한 규칙은 우리의 일반적인 사고 방식과 일치하지 않습니다. CSS 규칙의 구체성과 순서를 아무리 높이더라도 중요한 규칙은 그것과 경쟁하는 규칙을 덮어쓰게 됩니다. 또한 CSS 규칙의 관례적인 규칙은 디버깅에 문제를 가져옵니다. 중요한 규칙을 사용하여 브라우저를 해킹하려면 고유한 요소를 가리키는 선택기에서 규칙을 적용해야 합니다. (PS. Hack은 너무 보기 흉하기 때문에 솔루션에서 가장 마지막으로 고려해야 합니다.)

마지막으로, 특정성에 따라 CSS를 낮은 수준에서 높은 수준으로 작성하는 방법은 무엇입니까?

핵심은 모듈식 CSS입니다.

전역 CSS 추가
현재 페이지에 통합 CSS 추가
페이지를 여러 모듈로 나누기
각 모듈에 ID 후크 사용 및 동일한 모듈에 클래스 후크 사용
각 모듈 추가 module 각 모듈에 대한 CSS 통합
각 모듈을 여러 개의 하위 모듈로 나누고 4단계로 돌아가 스타일 추가가 완료될 때까지 반복을 시작합니다.
좋은 CSS를 작성하는 것은 구현 문제가 아니라 디자인 문제입니다. 먼저 일반적으로 사용되는 Reset.css인 매우 낮은 특이성을 갖는 전역 CSS 콘텐츠를 작성해야 합니다. 이는 당사 웹사이트 전체 페이지의 기본 스타일입니다.

다른 페이지와 배경이 다른 페이지와 같이 페이지에 고유한 통합 스타일이 있는 경우 페이지에 ID를 추가한 다음 해당 ID 아래에 현재 페이지의 통합 CSS를 작성할 수 있습니다.

body#special{ 
    background-color:black; 
}
登录后复制

통일된 스타일을 작성한 후 페이지를 여러 모듈로 나눕니다. 두 모듈이 기본적으로 동일한 스타일을 갖고 있다면 클래스 후크를 사용하세요. 동일하다면 id Hook을 사용하세요. 앞으로 모듈을 나눌 때마다 이 원칙을 따라야 합니다. 클래스의 구체성이 높지 않기 때문에 명백히 유사해 보이는 모듈이 아니면 클래스를 사용하면 안 됩니다. ID의 이름은 일반적으로 모듈 이름으로 사용할 수 있습니다. 머리, 바닥 등과 같은. id 선택자는 계단식 배열에서 중요한 역할을 합니다. id는 배타적이고 높은 특이성을 갖고 있어 CSS 규칙이 실수로 재정의되는 것을 방지할 수 있기 때문입니다.

특정 모듈에는 일부 통합 CSS가 있을 수 있으며, ID 선택기를 사용하여 현재 모듈 아래에 통합 스타일을 작성해야 합니다.

#head p{ 
    color:red; 
}
登录后复制

클래스 후크를 추가할 때 상위 모듈(또는 페이지 자체)의 ID를 클래스 이름의 첫 번째 부분으로 사용하는 것이 좋습니다. 독립된 페이지(body#special)를 추가한다면, 모듈을 페이지용 모듈로 나눈 후 페이지의 모듈 이름을 Special_head, Special_bottom 등으로 지정해야 합니다.

또는 일부 페이지 모듈에서 클래스 후크를 사용할 때는 head_col 등을 사용해야 합니다. 이것의 장점은

#head .col{ 
    /* 头部中每一列的样式 */ 
}
登录后复制

을 사용할 필요 없이

.head_col{ 
    /* 头部中每一列的样式 */ 
}
登录后复制

을 직접 사용할 수 있다는 점입니다. 이름 충돌에 대해 걱정할 필요가 없습니다.

모듈 바로 아래에 ID 선택기가 추가된 요소의 경우 선택기를 직접 사용하고 이름 앞에 상위 모듈의 ID를 추가할 수 있습니다.

#head_navigator{ 
    /* 头部中导航栏的样式 */ 
}
登录后复制

要做到模块化CSS我们应当尽量防止跨模块的CSS出现,我想一条好的原则是:如果某一样式的跨模块特性不是你一目了然的,那么就不要使用跨模块的CSS。一个例外是全局CSS或者模块内的统一CSS。而对于那些并非一目了然的,并非具有统一样式的,建议在每个子模块下分别定义。这就像是编写Java程序中的面向对象的设计一样,我们要降低模块之间的互相依赖,使得相同模块的CSS规则在一起,略有不同的就完全分开,这样不但易于维护,还能够保证特殊性从低到高地编写CSS,从而防止CSS规则被意外的覆盖

以上就是CSS规则层叠的应用 css必须要注意的几点_经验交流的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vue中placeholder是什么意思 vue中placeholder是什么意思 May 07, 2024 am 09:57 AM

在 Vue.js 中,placeholder 属性指定输入元素的占位符文本,当用户未输入内容时显示,提供输入提示或示例,提高表单可访问性。其用法为在输入元素中设置 placeholder 属性,并可使用 CSS 自定义外观。最佳实践包括与输入相关、简短清晰、避免默认文本,并考虑可访问性。

js中span是什么意思 js中span是什么意思 May 06, 2024 am 11:42 AM

span 标签可为文本添加样式、属性或行为,用于:添加样式,如颜色、字体大小。设置属性,如 id、class 等。关联行为,如点击、悬停等。标记文本,以便进一步处理或引用。

js中rem是什么意思 js中rem是什么意思 May 06, 2024 am 11:30 AM

CSS 中的 REM 是一种相对于根元素(html)字体大小的相对单位。它具有以下特点:相对根元素字体大小,不受父元素影响。当根元素字体大小改变时,使用 REM 的元素也会相应调整。可用于任何 CSS 属性。使用 REM 的优点包括:响应性:保持不同设备和屏幕大小上的文本可读性。一致性:确保整个网站字体大小一致。可扩展性:通过调整根元素字体大小轻松更改全局字体大小。

vue中引入图片的方法 vue中引入图片的方法 May 02, 2024 pm 10:48 PM

Vue 中引入图片有五种方法:通过 URL、require 函数、静态文件、v-bind 指令和 CSS 背景图片。可以在 Vue 的计算属性或侦听器中处理动态图片,并使用打包工具优化图片加载。确保路径正确,否则会显示加载错误。

js中什么是节点 js中什么是节点 May 07, 2024 pm 09:06 PM

节点是 JavaScript DOM 中表示 HTML 元素的实体。它们代表页面中的特定元素,可用于访问和操作该元素。常见的节点类型包括元素节点、文本节点、注释节点和文档节点。通过 DOM 方法(如 getElementById()),可以访问节点并对其进行操作,包括修改属性、添加/移除子节点、插入/替换节点和克隆节点。节点遍历有助于在 DOM 结构中导航。节点在动态创建页面内容、事件处理、动画和数据绑定方面非常有用。

浏览器插件是什么语言写的 浏览器插件是什么语言写的 May 08, 2024 pm 09:36 PM

浏览器插件通常使用以下语言编写:前端语言:JavaScript、HTML、CSS后端语言:C++、Rust、WebAssembly其他语言:Python、Java

vue中的ref和id是干什么的 vue中的ref和id是干什么的 May 02, 2024 pm 08:42 PM

Vue.js 中,ref 用于 JavaScript 引用 DOM 元素(可访问子组件和 DOM 元素本身),而 id 用于设置 HTML id 属性(可用于 CSS 样式、HTML 标记和 JavaScript 查找)。

vscode怎么设置未知属性 vscode设置未知属性方法 vscode怎么设置未知属性 vscode设置未知属性方法 May 09, 2024 pm 02:43 PM

1.首先,打开左下角的设置图标,点击settings选项2.随后,在跳转的窗口中找到css栏目3.最后,将unknownproperties菜单中的下拉选项改为error按钮即可

See all articles