CSS 코딩 표준

Oct 29, 2019 pm 12:04 PM

CSS 코딩 사양

이 문서의 목표는 CSS 코드 스타일을 일관되고 이해하고 유지하기 쉽게 만드는 것입니다. 습관, IDE를 잘 선택하세요. 더 이상 "텍스트 편집기"를 사용하지 마세요.

이 문서는 CSS용으로 작성되었지만 다양한 CSS 프리컴파일러(less, sass, stylus 등)를 사용할 때 해당 부분도 이 문서의 규칙을 최대한 따라야 합니다.

1 코드 스타일

1.1 파일

[권장] CSS 파일 BOM이 없는 UTF-8 인코딩을 사용합니다.

설명:

UTF-8 인코딩은 적응성이 더 넓습니다. BOM은 프로그램이나 도구를 사용하여 파일을 처리할 때 불필요한 간섭을 일으킬 수 있습니다.

1.2 들여쓰기

[필수] 들여쓰기 수준은 공백 2개를 사용하고, 탭 문자는 허용되지 않습니다.

예:

.selector {
  margin: 0;
  padding: 0;
}
로그인 후 복사

1.3 Space

[필수] 선택기와 { 사이에 공백이 있어야 합니다. .

예:

.selector {
}
로그인 후 복사

[필수] 속성 이름과 다음 : 사이에는 공백이 허용되지 않으며, :과 속성 값 사이에는 공백이 있어야 합니다.

예:

margin: 0;
로그인 후 복사

[필수] 목록 속성 값을 한 줄로 작성할 경우 , 뒤에 공백이 와야 합니다.

예:

font-family: Arial, sans-serif;
로그인 후 복사

1.4 행 길이

[필수] 단일 행을 제외하고 각 행은 120자를 초과할 수 없습니다. 선은 분할할 수 없습니다.

설명:

일반적인 분할할 수 없는 시나리오는 URL이 너무 긴 경우입니다.

[권장 사항] 매우 긴 스타일의 경우 스타일 값을 공백이나 뒤에 묶고, 논리적으로 그룹화하는 것이 좋습니다.

예:

/* 不同属性值按逻辑分组 */
background:
  transparent url(aVeryVeryVeryLongUrlIsPlacedHere)
  no-repeat 0 0;
/* 可重复多次的属性,每次重复一行 */
background-image:
  url(aVeryVeryVeryLongUrlIsPlacedHere)
  url(anotherVeryVeryVeryLongUrlIsPlacedHere);
/* 类似函数的属性值可以根据函数调用的缩进进行 */
background-image: -webkit-gradient(
  linear,
  left bottom,
  left top,
  color-stop(0.04, rgb(88,94,124)),
  color-stop(0.52, rgb(115,123,162))
);
로그인 후 복사

1.5 Selector

[필수] 규칙에 여러 선택기가 포함된 경우 각 선택기 선언 자체 라인에 있어야 합니다.

예:

/* good */
.post,
.page,
.comment {
  line-height: 1.5;
}
/* bad */
.post, .page, .comment {
  line-height: 1.5;
}
로그인 후 복사

[필수] >, +, ~ 선택기 양쪽에 한 칸씩 남겨두세요.

예:

/* good */
main > nav {
  padding: 10px;
}
label + input {
  margin-left: 5px;
}
input:checked ~ button {
  background-color: #69C;
}
/* bad */
main>nav {
  padding: 10px;
}
label+input {
  margin-left: 5px;
}
input:checked~button {
  background-color: #69C;
}
로그인 후 복사

[필수] 속성 선택기의 값은 큰따옴표로 묶어야 합니다.

설명:

작은따옴표는 허용되지 않으며, 따옴표도 허용되지 않습니다.

예:

/* good */
article[character="juliet"] {
  voice-family: "Vivien Leigh", victoria, female;
}
/* bad */
article[character='juliet'] {
  voice-family: "Vivien Leigh", victoria, female;
}
로그인 후 복사

1.6 속성

[필수] 여러 속성 정의는 별도의 줄에 있어야 합니다.

예:

/* good */
.selector {
  margin: 0;
  padding: 0;
}
/* bad */
.selector { margin: 0; padding: 0; }
로그인 후 복사

[필수] 속성 정의는 세미콜론으로 끝나야 합니다.

예:

/* good */
.selector {
  margin: 0;
}
/* bad */
.selector {
  margin: 0
}
로그인 후 복사

2 범용

2.1 선택기 #🎜 🎜 #

[필수] 필요한 경우 ID 및 클래스 선택자를 제한하기 위해 유형 선택자를 추가하지 마세요.

설명:

은 성능과 유지 관리 가능성에 일정한 영향을 미칩니다.

예:

/* good */
#error,
.danger-message {
  font-color: #c00;
}
/* bad */
dialog#error,
p.danger-message {
  font-color: #c00;
}
로그인 후 복사

[권장사항] 선택기의 중첩 수준은 4수준을 넘지 않아야 하며, 이후에 나오는 자격 조건은 최대한 정확해야 합니다.

예:

/* good */
#username input {}
.comment .avatar {}
/* bad */
.page .header .login #username input {}
.comment div * {}
로그인 후 복사

2.2 속성 약어

[제안] 약어를 사용할 수 있는 경우 다음을 사용해 보세요. 속성 약어.

예:

/* good */
.post {
  font: 12px/1.5 arial, sans-serif;
}
/* bad */
.post {
  font-family: arial, sans-serif;
  font-size: 12px;
  line-height: 1.5;
}
로그인 후 복사

[제안] 테두리/여백/패딩 등의 약어를 사용할 때 암시적 값이 실제 값에 미치는 영향에 주의해야 합니다. 여러 방향을 설정하려면 실제로 필요합니다. 값이 적절한 경우에만 약어를 사용하세요.

설명:

border / margin / padding과 같은 약어는 여러 속성의 값을 동시에 설정하며, 해당 설정을 재정의하기 쉽습니다. 재정의할 필요가 없습니다. 일부 방향이 다른 선언의 값을 상속해야 하는 경우 별도로 설정해야 합니다.

예:

/* centering <article class="page"> horizontally and highlight featured ones */
article {
  margin: 5px;
  border: 1px solid #999;
}
/* good */
.page {
  margin-right: auto;
  margin-left: auto;
}
.featured {
  border-color: #69c;
}
/* bad */
.page {
  margin: 5px auto; /* introducing redundancy */
}
.featured {
  border: 1px solid #69c; /* introducing redundancy */
}
로그인 후 복사

2.3 속성 작성 순서

[권장] 동일한 규칙 세트에서 속성을 작성할 때는 기능별로 그룹화해야 합니다. 그리고 코드의 가독성을 높이기 위해 Formatting Model(레이아웃, 위치) > Box Model(크기) > Typographic(텍스트 관련) > Visual(시각적 효과) 순으로 작성합니다.

설명:

Formatting 모델 관련 속성에는 위치 / 상단 / 오른쪽 / 하단 / 왼쪽 / 부동 / 표시 / 오버플로 등

상자 모델 관련 속성에는 테두리/여백/패딩/너비/높이 등이 포함됩니다.

Typographic 관련 속성에는 글꼴/줄 높이/텍스트 정렬/단어 줄 바꿈 등이 포함됩니다. #🎜🎜 #

Visual 관련 속성에는 배경 / 색상 / 전환 / 목록 스타일 등이 포함됩니다.

Misc 관련 속성에는 불투명도 / 텍스트 장식 / 공백 / 단어 줄 바꿈 등이 포함됩니다. .

또한 content 속성이 포함된 경우 먼저 배치해야 합니다.

예:

.sidebar {
  /* formatting model: positioning schemes / offsets / z-indexes / display / ...  */
  position: absolute;
  top: 50px;
  left: 0;
  overflow-x: hidden;
  display: block;
  /* box model: sizes / margins / paddings / borders / ...  */
  width: 200px;
  padding: 5px;
  border: 1px solid #ddd;
  /* typographic: font / aligns / text styles / ... */
  font-size: 14px;
  line-height: 20px;
  /* visual: colors / shadows / gradients / ... */
  background: #f5f5f5;
  color: #333;
  -webkit-transition: color 1s;
     -moz-transition: color 1s;
          transition: color 1s;
  /* Misc */
  opacity: 1;
  text-decoration: none;
  white-space: nowrap;
  word-wrap: normal;
  cursor: pointer;
}
로그인 후 복사

2.4 Clear float

[제안] 요소가 높이를 지원해야 하는 경우 내부를 포함합니다. 플로팅 요소가 플로팅 요소인 경우 의사 클래스에 Clear를 설정하거나 BFC를 트리거하여 ClearFix를 수행합니다. 빈 태그를 추가하지 마세요.

설명:

BFC를 트리거하는 방법에는 여러 가지가 있습니다. 일반적인 방법은 다음과 같습니다.

float 非 none
position 非 static
overflow 非 visible
로그인 후 복사

더 작은 크기의 플로트 지우기 방법을 사용하려는 경우 부작용은 # 🎜🎜#새로운 마이크로 클리어픽스 해킹

기사 하나를 참조하세요.

또한 이미 BFC를 실행한 요소는 삭제수정할 필요가 없습니다.

예:

<div class="fn-clear">
    <div class="fn-left"></div>
    <div class="fn-left"></div>
</div>
로그인 후 복사

2.5 !important

[제안] !important 문을 사용하지 마세요.

[추천] 지정된 스타일을 강제로 적용해야 하고 장면 재정의를 허용하지 않는 경우 태그 인라인 및 !important를 통해 스타일을 정의하세요.

설명:

인라인 !important 스타일은 디자인이 다른 장면에서 스타일을 재정의하는 것을 허용하지 않는 경우에만 사용해야 한다는 점에 유의해야 합니다. 이 체계는 일반적으로 타사 환경의 응용 프로그램에 사용됩니다. 아래의 Z-색인 섹션은 이러한 특수 시나리오 중 하나의 일반적인 예입니다.

2.6 z-index

[建议] 将 z-index 进行分层,对文档流外绝对定位元素的视觉层级关系进行管理。

解释:

同层的多个元素,如多个由用户输入触发的 Dialog,在该层级内使用相同的 z-index 或递增 z-index。

建议每层包含100个 z-index 来容纳足够的元素,如果每层元素较多,可以调整这个数值。

[建议] 在可控环境下,期望显示在最上层的元素,z-index 指定为 9999。

解释:

可控环境分成两种,一种是自身产品线环境;还有一种是可能会被其他产品线引用,但是不会被外部第三方的产品引用。

不建议取值为 2147483647。以便于自身产品线被其他产品线引用时,当遇到层级覆盖冲突的情况,留出向上调整的空间。

[建议] 在第三方环境下,期望显示在最上层的元素,通过标签内联和 !important,将 z-index 指定为 2147483647。

解释:

第三方环境对于开发者来说完全不可控。在第三方环境下的元素,为了保证元素不被其页面其他样式定义覆盖,需要采用此做法。

3 值与单位

3.1 文本

[强制] 文本内容必须用双引号包围。

解释:

文本类型的内容可能在选择器、属性值等内容中。

示例:

/* good */
html[lang|="zh"] q:before {
  font-family: "Microsoft YaHei", sans-serif;
  content: "“";
}
html[lang|="zh"] q:after {
  font-family: "Microsoft YaHei", sans-serif;
  content: "”";
}
/* bad */
html[lang|=zh] q:before {
  font-family: &#39;Microsoft YaHei&#39;, sans-serif;
  content: &#39;“&#39;;
}
html[lang|=zh] q:after {
  font-family: "Microsoft YaHei", sans-serif;
  content: "”";
}
로그인 후 복사

3.2 数值

[强制] 当数值为 0 - 1 之间的小数时,省略整数部分的 0。

示例:

/* good */
panel {
  opacity: .8
}
/* bad */
panel {
  opacity: 0.8
}
로그인 후 복사

3.3 url()

[强制] url() 函数中的路径不加引号。

示例:

/* good */
body {
  background: url(bg.png);
}
/* bad */
body {
  background: url("bg.png");
}
로그인 후 복사

[强制] url() 函数中的绝对路径可省去协议名。

示例:

body {
  background: url(//w.zuzuche.com/img/bg.png) no-repeat 0 0;
}
로그인 후 복사

3.4 长度

[强制] 长度为 0 时须省略单位。 (也只有长度单位可省)

示例:

/* good */
body {
  padding: 0 5px;
}
/* bad */
body {
  padding: 0px 5px;
}
로그인 후 복사

3.5 颜色

[强制] RGB颜色值必须使用十六进制记号形式 #rrggbb。不允许使用 rgb()。

解释:

带有alpha的颜色信息可以使用 rgba()。使用 rgba() 时每个逗号后必须保留一个空格。

示例:

/* good */
.success {
  box-shadow: 0 0 2px rgba(0, 128, 0, .3);
  border-color: #008000;
}
/* bad */
.success {
  box-shadow: 0 0 2px rgba(0,128,0,.3);
  border-color: rgb(0, 128, 0);
}
로그인 후 복사

[强制] 颜色值可以缩写时,必须使用缩写形式。

示例:

/* good */
.success {
  background-color: #aca;
}
/* bad */
.success {
  background-color: #aaccaa;
}
로그인 후 복사

[强制] 颜色值不允许使用命名色值。

示例:

/* good */
.success {
    color: #90ee90;
}
/* bad */
.success {
    color: lightgreen;
}
로그인 후 복사

[建议] 颜色值中的英文字符采用小写。如不用小写也需要保证同一项目内保持大小写一致。

示例:

/* good */
.success {
  background-color: #aca;
  color: #90ee90;
}
/* good */
.success {
  background-color: #ACA;
  color: #90EE90;
}
/* bad */
.success {
  background-color: #ACA;
  color: #90ee90;
}
로그인 후 복사

3.6 2D 位置

[强制] 必须同时给出水平和垂直方向的位置。

解释:

2D 位置初始值为 0% 0%,但在只有一个方向的值时,另一个方向的值会被解析为 center。为避免理解上的困扰,应同时给出两个方向的值。background-position属性值的定义

示例:

/* good */
body {
  background-position: center top; /* 50% 0% */
}
/* bad */
body {
  background-position: top; /* 50% 0% */
}
로그인 후 복사

4 文本编排

4.1 字体族

[强制] font-family 属性中的字体族名称应使用字体的英文 Family Name,其中如有空格,须放置在引号中。

解释:

所谓英文 Family Name,为字体文件的一个元数据,常见名称如下:

字体操作系统Family Name
宋体 (中易宋体)WindowsSimSun
黑体 (中易黑体)WindowsSimHei
微软雅黑WindowsMicrosoft YaHei
微软正黑WindowsMicrosoft JhengHei
华文黑体Mac/iOSSTHeiti
冬青黑体Mac/iOSHiragino Sans GB
文泉驿正黑LinuxWenQuanYi Zen Hei
文泉驿微米黑LinuxWenQuanYi Micro Hei
로그인 후 복사

示例:

h1 {
  font-family: "Microsoft YaHei";
}
로그인 후 복사

[强制] font-family 按「西文字体在前、中文字体在后」、「效果佳 (质量高/更能满足需求) 的字体在前、效果一般的字体在后」的顺序编写,最后必须指定一个通用字体族( serif / sans-serif )。

解释:

更详细说明可参考本文。

示例:

/* Display according to platform */
.article {
  font-family: Arial, sans-serif;
}
/* Specific for most platforms */
h1 {
  font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", "WenQuanYi Micro Hei", "Microsoft YaHei", sans-serif;
}
로그인 후 복사

[强制] font-family 不区分大小写,但在同一个项目中,同样的 Family Name 大小写必须统一。

示例:

/* good */
body {
  font-family: Arial, sans-serif;
}
h1 {
  font-family: Arial, "Microsoft YaHei", sans-serif;
}
/* bad */
body {
  font-family: arial, sans-serif;
}
h1 {
  font-family: Arial, "Microsoft YaHei", sans-serif;
}
로그인 후 복사

4.2 字号

[强制] 需要在 Windows 平台显示的中文内容,其字号应不小于 12px。

解释:

由于 Windows 的字体渲染机制,小于 12px 的文字显示效果极差、难以辨认。

4.3 字体风格

[建议] 需要在 Windows 平台显示的中文内容,不要使用除 normal 外的 font-style。其他平台也应慎用。

解释:

由于中文字体没有 italic 风格的实现,所有浏览器下都会 fallback 到 obilique 实现 (自动拟合为斜体),小字号下 (特别是 Windows 下会在小字号下使用点阵字体的情况下) 显示效果差,造成阅读困难。

4.4 字重

[强制] font-weight 属性必须使用数值方式描述。

解释:

CSS 的字重分 100 – 900 共九档,但目前受字体本身质量和浏览器的限制,实际上支持 400 和 700 两档,分别等价于关键词 normal 和 bold。

浏览器本身使用一系列启发式规则来进行匹配,在 <700 时一般匹配字体的 Regular 字重,>=700 时匹配 Bold 字重。

但已有浏览器开始支持 =600 时匹配 Semibold 字重 (见此表),故使用数值描述增加了灵活性,也更简短。

示例:

/* good */
h1 {
  font-weight: 700;
}
/* bad */
h1 {
  font-weight: bold;
}
로그인 후 복사

4.5 行高

[建议] line-height 在定义文本段落时,应使用数值。

解释:

将 line-height 设置为数值,浏览器会基于当前元素设置的 font-size 进行再次计算。在不同字号的文本段落组合中,能达到较为舒适的行间间隔效果,避免在每个设置了 font-size 都需要设置 line-height。

当 line-height 用于控制垂直居中时,还是应该设置成与容器高度一致。

示例:

.container {
  line-height: 1.5;
}
로그인 후 복사

5 变换与动画

[强制] 使用 transition 时应指定 transition-property。

示例:

/* good */
.box {
  transition: color 1s, border-color 1s;
}
/* bad */
.box {
  transition: all 1s;
}
로그인 후 복사

[建议] 尽可能在浏览器能高效实现的属性上添加过渡和动画。

解释:

见本文,在可能的情况下应选择这样四种变换:

transform: translate(npx, npx);
transform: scale(n);
transform: rotate(ndeg);
opacity: 0..1;
로그인 후 복사

典型的,可以使用 translate 来代替 left 作为动画属性。

示例:

/* good */
.box {
  transition: transform 1s;
}
.box:hover {
  transform: translate(20px); /* move right for 20px */
}
/* bad */
.box {
  left: 0;
  transition: left 1s;
}
.box:hover {
  left: 20px; /* move right for 20px */
}
로그인 후 복사

6 响应式

[强制] Media Query 不得单独编排,必须与相关的规则一起定义。

示例:

/* Good */
/* header styles */
@media (...) {
  /* header styles */
}
/* main styles */
@media (...) {
  /* main styles */
}
/* footer styles */
@media (...) {
  /* footer styles */
}
/* Bad */
/* header styles */
/* main styles */
/* footer styles */
@media (...) {
  /* header styles */
  /* main styles */
  /* footer styles */
}
로그인 후 복사

[强制] Media Query 如果有多个逗号分隔的条件时,应将每个条件放在单独一行中。

示例:

@media
(-webkit-min-device-pixel-ratio: 2), /* Webkit-based browsers */
(min--moz-device-pixel-ratio: 2),    /* Older Firefox browsers (prior to Firefox 16) */
(min-resolution: 2dppx),             /* The standard way */
(min-resolution: 192dpi) {           /* dppx fallback */
  /* Retina-specific stuff here */
}
로그인 후 복사

[建议] 尽可能给出在高分辨率设备 (Retina) 下效果更佳的样式。

7 兼容性

7.1 属性前缀

[建议] 带私有前缀的属性由长到短排列,按冒号位置对齐。

解释:

标准属性放在最后,按冒号对齐方便阅读,也便于在编辑器内进行多行编辑。

在 Sublime Text 2 中, 使用 Selection → Add Previous Line (⌃⇧↑) 和 Selection → Add Next Line (⌃⇧↓)。

示例:

.box {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
로그인 후 복사

7.2 Hack

[建议] 需要添加 hack 时应尽可能考虑是否可以采用其他方式解决。

解释:

如果能通过合理的 HTML 结构或使用其他的 CSS 定义达到理想的样式,则不应该使用 hack 手段解决问题。通常 hack 会导致维护成本的增加。

[建议] 尽量使用 选择器 hack 处理兼容性,而非 属性 hack。

解释:

尽量使用符合 CSS 语法的 selector hack,可以避免一些第三方库无法识别 hack 语法的问题。

示例:

/* IE 7 */
*:first-child + html #header {
  margin-top: 3px;
  padding: 5px;
}
/* IE 6 */
* html #header {
  margin-top: 5px;
  padding: 4px;
}
로그인 후 복사

[建议] 尽量使用简单的 属性 hack。

示例:

.box {
  _display: inline; /* fix double margin */
  float: left;
  margin-left: 20px;
}
.container {
  overflow: hidden;
  *zoom: 1; /* triggering hasLayout */
}
로그인 후 복사

7.3 Expression

[强制] 禁止使用 Expression。

7.4 @import

[强制] 禁止使用 @import。

解释:与 相比, @import 更慢,需要额外的页面请求,并且可能引发其他的意想不到的问题。应该避免使用他们,而选择其他的方案:

● 使用多个 元素

● 使用 CSS 预处理器例如 Sass 或 Less 将样式编译到一个文件中

위 내용은 CSS 코딩 표준의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

vue 3 vue 3 Apr 02, 2025 pm 06:32 PM

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? 브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? Apr 02, 2025 pm 06:17 PM

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

CI/CD에 약간 CI/CD에 약간 Apr 02, 2025 pm 06:21 PM

"웹 사이트"는 "모바일 앱"보다 더 잘 맞지만 Max Lynch 의이 프레임이 마음에 듭니다.

반응 형 디자인을위한 브라우저 비교 반응 형 디자인을위한 브라우저 비교 Apr 02, 2025 pm 06:25 PM

목표가 귀하의 사이트를 동시에 다른 크기로 표시하는 이러한 데스크탑 앱이 많이 있습니다. 예를 들어, 글을 쓸 수 있습니다

끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 Apr 03, 2025 am 10:30 AM

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

WordPress 블록 편집기에서 Markdown 및 현지화 사용 WordPress 블록 편집기에서 Markdown 및 현지화 사용 Apr 02, 2025 am 04:27 AM

WordPress 편집기에서 사용자에게 직접 문서를 표시 해야하는 경우 가장 좋은 방법은 무엇입니까?

See all articles