개발 기술을 빠르게 향상시키는 20가지 CSS 팁
이 기사에서는 개발 기술을 빠르게 향상시킬 수 있는 20가지 CSS 팁을 공유하겠습니다. 모두에게 도움이 되기를 바랍니다.
flexbox 콘텐츠 래핑
flexbox 레이아웃을 사용할 때 기본적으로 컨테이너 너비가 충분하지 않을 때 이러한 상황이 발생할 수 있습니다.
이는 주로 flex-wrap
의 기본값이 nowrap
이기 때문이므로 값을 이렇게 변경해야 합니다. flex-wrap
的默认值是 nowrap
,所以我们需要这样改变一下值。
.options-list { display: flex; flex-wrap: wrap; }
间距
设计师在提供的设计稿中,很容易忽略文本在极限情况下与其他元素之间的间距,最终可能会出现这样的情况,文字与 icon 紧挨。
要处理这个情况,就是需要考虑是在文本还是 icon 部分,根据实际情况分析后选择添加 margin
值来增加间距。
.section__title { margin-right: 1rem; }
不过这个情况,我一般会考虑在 icon 上加 margin-left
.username { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

< h3 data-id="heading-3"> Spacing
제공된 디자인 초안에서는 디자이너가 텍스트와 다른 요소 사이의 간격을 무시하기 쉬우며, 결국에는 그러한 상황이 발생할 수 있습니다. 아이콘 옆에 텍스트가 표시됩니다.
To 이런 상황에 대처하려면 텍스트 부분인지 아이콘 부분인지를 고려하고 실제 상황을 분석한 후 margin
값을 추가하여 간격을 늘리도록 선택해야 합니다.
.card__thumb { object-fit: cover; }

margin-left
를 추가하여 아이콘이 없어도 텍스트가 컨테이너 가장자리로 푸시될 수 있도록 하는 것을 고려합니다. object-fit
属性:
.modal__content { overscroll-behavior-y: contain; overflow-y: auto; }
锁定滚动链接
主要出现的情况是在当页面中点击弹出 modal 弹层时,页面内容本身很长的时候。
.message__bubble { max-width: calc(100% - var(--actions-width, 70px)); }
overscroll-behavior
虽好,但目前存在很大的兼容性问题。
CSS 变量回退
这个 CSS 变量回退,说白了,其实就是当 CSS 变量值无效时而使用一个“安全值”来保证某个属性值还是可用的。
.message__bubble { max-width: 70px; max-width: var(--actions-width, 70px); }
不过结合之前写前端页面时的处理方式,可能还会去考虑一下浏览器对 var()
的兼容性问题,那么就会再加上一个属性。不过现在的浏览器来看,好像普遍性不存在这个问题。
.hero { background-image: url('..'); background-repeat: no-repeat; }
使用固定宽度或高度
这个没啥说的,主要就是对内容过长时,溢出容器时的一个保护措施。比如当我们把高度固定为 350px
之后,内容过长就会溢出。
而如果我们把 height
换成 min-height
的话,那情况就有所不同了。
同理,在宽度的处理上也是一样。
被忽略的 background-repeat
在使用背景图的时候,如果没加上 no-repeat
的话,默认就会把背景图平铺开。
所以,随手加上 no-repeat
@media (min-height: 600px) { .aside__secondary { position: sticky; bottom: 0; } }

object-fit
속성을 직접 사용하는 것입니다: 🎜.wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; }
🎜스크롤 링크 잠금🎜🎜🎜The 주요 상황은 페이지를 클릭하여 모달 팝업 레이어를 팝업할 때 페이지 내용 자체가 매우 긴 경우입니다. 🎜.wrapper {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
로그인 후 복사로그인 후 복사🎜오버스크롤 동작
은 좋지만 현재 큰 호환성 문제가 있습니다. 🎜🎜
🎜🎜CSS 변수 대체🎜🎜🎜이 CSS 변수 대체는 직설적으로 말하면 실제로 "안전한 값"을 사용하여 CSS 변수 값이 다음과 같을 때 특정 속성 값을 계속 사용할 수 있도록 보장합니다. 유효하지 않은. . 🎜@media (min-width: 600px) {
.wrapper {
display: grid;
grid-template-columns: 250px 1fr;
gap: 1rem;
}
}
로그인 후 복사로그인 후 복사🎜단, 프런트 엔드 페이지 작성 시 이전 처리 방법과 결합하여 var()
와 브라우저의 호환성 문제를 고려한 다음 추가 속성이 추가될 수도 있습니다. 그러나 현재 브라우저를 보면 이 문제가 보편적으로 존재하는 것은 아닌 것 같습니다. 🎜.element {
overflow-y: auto;
}
로그인 후 복사로그인 후 복사🎜고정 너비 또는 높이를 사용하세요🎜🎜🎜 이에 대해 말할 것도 없습니다. 주로 콘텐츠가 너무 길어서 컨테이너가 넘칠 때의 보호 조치입니다. 예를 들어 높이를 350px
로 고정하면 콘텐츠가 너무 길면 오버플로됩니다. 🎜🎜
🎜🎜그리고 높이
를 최소 높이
로 바꾸면 상황이 달라집니다. 🎜🎜
🎜🎜동일 너비 처리의 경우에도 마찬가지입니다. 🎜🎜배경 반복 무시🎜🎜🎜배경 이미지 사용시 no-repeat
가 추가되지 않으면 기본적으로 무시됩니다 배경 이미지가 평평하게 펼쳐져 있습니다. 🎜🎜
🎜🎜그래서 , 배경 이미지를 타일링해야 하는지 여부를 알지 못하는 경우에는 no-repeat
를 자연스럽게 추가하는 것이 여전히 좋은 습관입니다. 🎜.element {
scrollbar-gutter: stable;
}
로그인 후 복사로그인 후 복사🎜수직 미디어 쿼리
이 장면은 지금까지 페이지에서 Xiaozhi가 본 적이 없습니다. 일반적으로 작성자가 제공하는 페이지 효과와 같이 중간 및 백엔드 페이지에서 더 자주 나타납니다. 🎜🎜🎜🎜
.wrapper { display: flex; flex-wrap: wrap; gap: 1rem; }
@media (min-width: 600px) { .wrapper { display: grid; grid-template-columns: 250px 1fr; gap: 1rem; } }
var()
와 브라우저의 호환성 문제를 고려한 다음 추가 속성이 추가될 수도 있습니다. 그러나 현재 브라우저를 보면 이 문제가 보편적으로 존재하는 것은 아닌 것 같습니다. 🎜.element { overflow-y: auto; }
🎜고정 너비 또는 높이를 사용하세요🎜🎜🎜 이에 대해 말할 것도 없습니다. 주로 콘텐츠가 너무 길어서 컨테이너가 넘칠 때의 보호 조치입니다. 예를 들어 높이를 350px
로 고정하면 콘텐츠가 너무 길면 오버플로됩니다. 🎜🎜
🎜🎜그리고 높이
를 최소 높이
로 바꾸면 상황이 달라집니다. 🎜🎜
🎜🎜동일 너비 처리의 경우에도 마찬가지입니다. 🎜🎜배경 반복 무시🎜🎜🎜배경 이미지 사용시 no-repeat
가 추가되지 않으면 기본적으로 무시됩니다 배경 이미지가 평평하게 펼쳐져 있습니다. 🎜🎜
🎜🎜그래서 , 배경 이미지를 타일링해야 하는지 여부를 알지 못하는 경우에는 no-repeat
를 자연스럽게 추가하는 것이 여전히 좋은 습관입니다. 🎜.element {
scrollbar-gutter: stable;
}
로그인 후 복사로그인 후 복사🎜수직 미디어 쿼리
이 장면은 지금까지 페이지에서 Xiaozhi가 본 적이 없습니다. 일반적으로 작성자가 제공하는 페이지 효과와 같이 중간 및 백엔드 페이지에서 더 자주 나타납니다. 🎜🎜🎜🎜
no-repeat
가 추가되지 않으면 기본적으로 무시됩니다 배경 이미지가 평평하게 펼쳐져 있습니다. 🎜🎜
no-repeat
를 자연스럽게 추가하는 것이 여전히 좋은 습관입니다. 🎜.element { scrollbar-gutter: stable; }
左下角是通过 position: sticky;
定位的,可能通过 fixed
定位也是一样吧,然后当浏览器的高度变小的时候,就会叠在左侧的导航上面。
显然,这样的页面效果就不对了。而如果这个时候,通过 @media
方式判断页面高度,在某个安全区外我们才让左下角这部分通过 sticky
来定位。
@media (min-height: 600px) { .aside__secondary { position: sticky; bottom: 0; } }
使用 justify-content: space-between
原文中这部分标题是 Using Justify-Content: Space-Between,但看起来更应该是 Using gap。使用什么标题不是关键,这部分主要是提到当使用 justify-content: space-between;
时,如果元素不够,元素与元素之间的间距就会拉长,因为要平均分布元素之间的间距。
比如原本是想要这样的一个效果,间距的值是固定的:
在元素数量足够的情况下,元素与元素之间的间距还是比较理想的,通过下面这个 CSS 处理方式:
.wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; }
但,元素的数量总是会不足的时候,那么就会这样了。
可见,其实并不是想要平均分布,而只是想要在最大的极限情况下和内容不足的时候,元素之间的间距是可控的。一般来说,这个处理方式挺多的,用 margin 之类的也是可以处理,不过目前有一个兼容性并不是十分好的 gap 能完美解决这个问题。
.wrapper { display: flex; flex-wrap: wrap; gap: 1rem; }
图片上的文字 用户体验上的一个细节处理问题,如果在图片上有文案,但图片没加载出来,或者加载失败的时候,添加一个背景色,以保证图片加载失败的情况下,文字与背景能区分开。
使用 CSS 网格中的固定值需注意 grid 网格布局现在开始慢慢被关注了,grid 与 flex 一样都可以做自适应的效果,也可以使用固定值的情况。在使用固定值的时候,最好是通过 @media 判断一下宽度,以便于满足最小宽度时的处理。
@media (min-width: 600px) { .wrapper { display: grid; grid-template-columns: 250px 1fr; gap: 1rem; } }
不过一般这种情况下,可能就直接改变页面布局了,感觉作者在这个方面上担忧是多余的。或者主要是自己未遇到过他所遇到的场景吧。
仅在需要时显示滚动条
这个没啥说的,一般大家都是把 scroll
设置为 auto
。不过在个别情况下,可能这个 auto
会让元素的宽度变小,然后导致内容或者布局出现一点小瑕疵。
.element { overflow-y: auto; }
滚动条装订线
这个所谓的装订线,主要就是 scrollbar-gutter
属性,保留滚动条的空间。在上面那个 overflow
例子中提到,如果设置为 auto
的时候,可能会导致页面布局出现非意料的情况,那么 scrollbar-gutter
就可以处理这个问题了。
兼容性还是一个不可避免的话题。
假设不考虑兼容性的问题,那么我们就可以使用这个方法保留滚动条的空间。
.element { scrollbar-gutter: stable; }
CSS flexbox 中的最小内容大小
在使用 flex 布局的时候,很有可能其中某个 item 的文本内容很长,最终导致没有换行而溢出容器之外。
这种情况也并不是说没有可能,就算是使用 overflow-wrap: break-word;
也不会有效果,那么这个时候需要加上 min-width: 0;
来处理。
.card__title { overflow-wrap: break-word; min-width: 0; }
CSS 网格中的最小内容大小
与 flexbox 类似,CSS 网格的子项有一个默认的最小内容大小,即 auto
,这意味着,如果存在大于网格项的元素,它将溢出。
@media (min-width: 1020px) { .wrapper { display: grid; grid-template-columns: 1fr 248px; grid-gap: 40px; } } .carousel { display: flex; overflow-x: auto; }
对于网格这块,了解的不够深入,直接延用作者的意思就是将 grid-template-columns
的值改变一下,改为:minmax(0, 1fr) 248px
就可以得到下面这个效果。
自动适合与自动填充
当时看到效果图的时候,我还以为是 flex 布局中的情况,结果是 grid 网格布局中使用的情况。
在使用 grid 布局时,如果是这样写,利用 auto-fit
的话,就会是上面这个效果,item 不够时会被拉长。
display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-gap: 1rem; }
而如果改为 auto-fill
的话就是下面这个效果。
对于 auto-fit
和 auto-fill
的区别可以看这张图。
图片最大宽度
作者建议可以在 reset 部分中对 img
加上最大宽度的设置,但没说具体是为什么。个人猜想是考虑图片在容器中的展示吧,同时还有一个 object-fit
属性。
img { max-width: 100%; object-fit: cover; }
位置:粘性css网格
在使用 CSS 网格布局时,如果子元素使用了 position: sticky
的话,由于网格子元素的默认对齐方式是 stretch
,所以会被拉伸。
而其实我们想要的是,左侧边栏并非拉伸效果的,所以,需要通过 align-self: start;
改变一下子元素自身的对齐方式。
aside { align-self: start; position: sticky; top: 1rem; }
这样的话,效果就不一样了。
简单测试了一下,在 flex 布局中也是同样的情况,主要就是因为子元素的特性是拉伸的。
分组选择器
/* Don't do this, please */ input::-webkit-input-placeholder, input:-moz-placeholder { color: #222; }
现在写 CSS 的时候基本上都不会去写带前缀的属性,而是通过构建工具来自动完成。所以平时也不会在意这个。按照作者的说法是,如果把这两个写在一起,会导致整个规则失效,建议分开写。
input::-webkit-input-placeholder { color: #222; } input:-moz-placeholder { color: #222; }
最后
以上内容看着其实都是挺简单,挺初级的内容,但是在日常开发过程中,对于 CSS 的注意的确有一些还是不够到位。毕竟有一些内容过于细节了。
(学习视频分享:css视频教程)
위 내용은 개발 기술을 빠르게 향상시키는 20가지 CSS 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.

답 : 부트 스트랩의 날짜 선택기 구성 요소를 사용하여 페이지에서 날짜를 볼 수 있습니다. 단계 : 부트 스트랩 프레임 워크를 소개하십시오. HTML에서 날짜 선택기 입력 상자를 만듭니다. 부트 스트랩은 선택기에 스타일을 자동으로 추가합니다. JavaScript를 사용하여 선택한 날짜를 얻으십시오.

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

부트 스트랩의 날짜를 확인하려면 다음 단계를 따르십시오. 필요한 스크립트와 스타일을 소개하십시오. 날짜 선택기 구성 요소를 초기화합니다. 검증을 활성화하려면 데이터 BV 날짜 속성을 설정합니다. 검증 규칙 (예 : 날짜 형식, 오류 메시지 등) 구성; 부트 스트랩 검증 프레임 워크를 통합하고 양식이 제출 된 경우 날짜 입력을 자동으로 확인하십시오.

Bootstrap은 내비게이션 막대 설정을위한 간단한 안내서를 제공합니다. 내비게이션 바 컨테이너 추가 브랜드 아이덴티티 추가 내비게이션 링크 추가 (선택 사항) 스타일 조정 스타일 (선택 사항)
