홈페이지에 CSS 스킬이 많이 올라왔으니 오늘은 직장에서 겪을 수 있는 문제를 정리하고 CSS를 활용한 해결방법에 대해 이야기해보겠습니다.
클릭하여 한쪽에 텍스트를 추가하면 반대쪽에도 배경이 추가됩니다.
html 코드:
<div id="container"> <div class="left">haorooms多列等高布局左</div> <div class="right" id="rights">多列等高布局,使用正负 margin 与 padding 相冲的方式实现。</div></div>
방법 1: 양수 및 음수 여백을 사용하여 패딩과 충돌함
#container{ width:400px; margin:0 auto; background:#eee; overflow:hidden;}.left,.right{ width:200px; float:left; font-size: 16px; line-height:24px; color:#333; padding-bottom:5000px; margin-bottom:-5000px;}.left{ background-color: deeppink;}.right{ background-color:yellowgreen;}
충분히 큰 패딩 및 음수 여백을 제공
두 번째, display:flex를 사용하여 달성
이 방법은 매우 편리합니다. 우리는 이것을 모바일 터미널에서 자주 사용합니다. 컨테이너를 display:flex로 설정하고 하위 요소를 flex:1로 설정하기만 하면 됩니다.
3. Display:table-cell 구현
위 방법과 유사하게 컨테이너는 display:table;로 설정되고 하위 요소는 display:table-cell;로 설정됩니다.
4. 상위 컨테이너의 배경색 설정 구현
은 다음과 같습니다.
#container{ width:400px; margin:0 auto; background-color: deeppink; overflow:hidden;}.left,.right{ width:200px; float:left; font-size: 16px; line-height:24px; color:#333;}.right{ background-color:yellowgreen;}
5. 상위 컨테이너의 여러 배경색 - 선형 그라데이션
#container{ width:400px; margin:0 auto; background-image: linear-gradient(90deg, yellowgreen 50%, deeppink 0); overflow:hidden;}.left,.right{ width:200px; float:left; font-size: 16px; line-height:24px; color:#333;}
6 테두리 구현
#container{ border-left:200px solid yellowgreen; background-color:deeppink; width:200px; font-size: 16px; line-height:24px; color:#333; } .left{ width:200px; margin-left:-200px; float:left; }
다중 열 균일. layout
방법 1: display: flex
이 방법은 위에서도 언급한 바 있지만 구현이 비교적 간단하고 모바일 레이아웃에 적합합니다.
방법 2: pseudo-elements 및 text-align:justify의 도움으로
html 코드는 다음과 같습니다.
<div class="container"> <div class="justify"> <i>1</i> <i>2</i> <i>3</i> <i>4</i> <i>5</i> </div></div>
css 코드는 다음과 같습니다:
.justify{ text-align: justify; text-align-last: justify; // 新增这一行}.justify i{ width:24px; line-height:24px; display:inline-block; text-align:center;} text-align-last兼容性不是很好,可以使用::after, .justify{ text-align: justify;}.justify i{ width:24px; line-height:24px; display:inline-block; text-align:center; border-radius:50%;}.justify:after { content: ""; display: inline-block; position: relative; width: 100%;}
목록 레이아웃 경계선 문제
방법 1: 음수 여백
아이디어:
외부 레이어에 너비를 설정하고, 오버플로를 숨김으로 설정하고, 내부 레이어에 음수 여백을 설정하세요. margin-left: -1px 왼쪽 여백을 숨길 수 있습니다.
html 코드는 다음과 같습니다:
<div class="ul-container"> <ul> <li>haorooms</li> <li>测试</li> <li>hao测试</li> <li>右侧</li> <li>边界线</li> <li>消失</li> <li>测试</li> </ul></div>
CSS 코드:
ul{ width: 300px; margin-left:-1px;}li{ float:left; width:99px; line-height:30px; text-align:center; border-left:1px solid #999; font-size:18px; margin-bottom:10px;}.ul-container{ width: 300px; margin: 50px auto; overflow:hidden; background: #eee; padding:10px 0;}
방법 2: 의사 클래스 선택기 사용
// 의사 클래스 선택기를 사용하여 세 번째 요소를 선택하고 테두리를 제거합니다. li:nth-child(3n){
border-right:none; }
직장에서 흔히 발생하는 문제는 다음과 같습니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 다른 관련 기사도 주목해 주세요!
관련 읽기:
CSS3을 사용하여 불규칙한 이미지에 대한 전환 특수 효과를 만드는 방법
위 내용은 CSS 개발 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!