H5 모바일 단말기에서 다양한 목록을 만드는 방법 (6)
H5 모바일 단말기에서 다양한 목록 만드는 방법(6)
이 글을 먼저 보신 분들은 위의 링크로 먼저 가보시길 추천드리며, 문맥이 일관되고 이 기사의 내용을 더 쉽게 이해할 수 있도록 해당 내용을 살펴보세요.
처음 두 장에서 2열 레이아웃에 대해 이야기했습니다. 그러나 사실 위의 이미지와 텍스트 목록의 2열 레이아웃은 비교적 간단합니다. 이번 장에서는 비교적 복잡한 레이아웃 방법을 구현해 보겠습니다.
또한 아래의 Android 4.4 및 일부 어리석은 국내 모바일 브라우저와도 호환됩니다. 실제로는 및 기타 calcvhvw
의 최신 속성을 사용하여 이 레이아웃을 구현합니다. . css3
저는 이렇게 생각합니다. 백엔드의 출력을 용이하게 하기 위해서는 이 6개의 제품이 통일된 형식이어야 합니다. 따라서 제가 만든 HTML 코드는 다음과 같습니다.
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> <title>list 4</title><link rel="stylesheet" href="../style/style.css"> </head> <body> <p class="list_4"> <ul> <li> <a href="goods/goods.html"> <!-- 只有第一个有这个热售,其他的木有!~ --> <i class="goods_words">热售</i> <h3 id="苹果iPhone-s">苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s" > </a> </li> <li> <a href="goods/goods.html"> <h3 id="苹果iPhone-s苹果iPhone-s苹果iPhone-s苹果iPhone-s">苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s" > </a> </li> <li> <a href="goods/goods.html"> <h3 id="苹果iPhone-s苹果iPhone-s苹果iPhone-s苹果iPhone-s">苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s" > </a> </li> <li> <a href="goods/goods.html"> <h3 id="苹果iPhone-s苹果iPhone-s苹果iPhone-s苹果iPhone-s">苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s" > </a> </li> <li> <a href="goods/goods.html"> <h3 id="苹果iPhone-s">苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s" > </a> </li> <li> <a href="goods/goods.html"> <h3 id="苹果iPhone-s">苹果iPhone6s</h3> <p class="goods_info">A1700</p> <em class="goods_price">¥4679.00</em> <img class="goods_photo lazy" src="/static/imghw/default1.png" data-src="../image/goods.jpg" alt="苹果iPhone6s" > </a> </li> </ul></p></body></html>
.list_4 {
margin-top: 0.8rem;background:#fff;border-top: 1px solid #ddd;
ul {@extend .cf;}
li {
background:#fff;outline: 1px solid #ddd;
&:nth-child(-n+3) {
width: 50%;height: 0;position: relative;
a {display: block;position: absolute;left: 0;top: 0;height: 0;width: 100%;}
.goods_photo {display: block;position: absolute;right:0.5rem;}
.goods_title,.goods_info,.goods_price {z-index: 2;width: 60%;}
}
&:nth-child(1) {
float: left;padding-bottom: 55%;
a {padding-bottom: 110%;}
.goods_photo {width: 50%;bottom: 5%;}
.goods_title,.goods_info,.goods_price,.goods_words {margin-left: 1.6rem;}
.goods_words {margin-top: 1.6rem;}
}
&:nth-child(n+2):nth-child(-n+3) {
float: right;padding-bottom: 27.5%;
a {padding-bottom: 55%;}
.goods_photo {height: 70%;top: 15%;}
.goods_title,.goods_info,.goods_price,.goods_words {margin-left: 1.2rem;}
.goods_title {margin-top: 1.6rem;}
}
&:nth-child(n+4) {
width: 33.3%;float: left;
a {display: block;padding: 1rem;}
.goods_photo {width: 70%;max-width: 15rem;margin: 0.5rem auto 0;display: block;}
}
}
}
// 全站范围内用到的图文基本样式
.goods_words {
display:inline-block;
padding:0.3rem 0.5rem;border-radius: 0.3rem;background:#f60;color:#fff;font-size: 1.2rem;margin-bottom: 0.5rem;
}
.goods_title,.goods_price,.goods_info {
display: block;position: relative;
@include ts(); // 引用文字描白边代码片
@include online(1.8rem); // 引用文字超出一行省略号代码片
}
.goods_title {color:#000;font-size: 1.2rem;}
.goods_info {color:#999;font-size: 1.2rem;}
.goods_price {color:#f60;font-size: 1.5rem;font-weight: bold;}
로그인 후 복사이전 블로그 게시물에서 "순수한 CSS는 공통을 구현합니다. 모바일 단말기의 레이아웃 - 높이와 너비가 연결됨 "비밀"에서 이 레이아웃의 구현 방법을 설명했습니다. 해당 기사가 게시된 후 누군가가 저에게 이 레이아웃의 내용을 어떻게 배열하면 위치 지정 레이아웃을 사용한다고 말했습니까? , 하지만 그는 여전히 내 기사를 읽고 이해했는지 모르겠습니다.
의 특정 코드가 무엇을 의미하는지 여기서는 자세히 설명하지 않습니다. 초점은 .list_4 { margin-top: 0.8rem;background:#fff;border-top: 1px solid #ddd; ul {@extend .cf;} li { background:#fff;outline: 1px solid #ddd; &:nth-child(-n+3) { width: 50%;height: 0;position: relative; a {display: block;position: absolute;left: 0;top: 0;height: 0;width: 100%;} .goods_photo {display: block;position: absolute;right:0.5rem;} .goods_title,.goods_info,.goods_price {z-index: 2;width: 60%;} } &:nth-child(1) { float: left;padding-bottom: 55%; a {padding-bottom: 110%;} .goods_photo {width: 50%;bottom: 5%;} .goods_title,.goods_info,.goods_price,.goods_words {margin-left: 1.6rem;} .goods_words {margin-top: 1.6rem;} } &:nth-child(n+2):nth-child(-n+3) { float: right;padding-bottom: 27.5%; a {padding-bottom: 55%;} .goods_photo {height: 70%;top: 15%;} .goods_title,.goods_info,.goods_price,.goods_words {margin-left: 1.2rem;} .goods_title {margin-top: 1.6rem;} } &:nth-child(n+4) { width: 33.3%;float: left; a {display: block;padding: 1rem;} .goods_photo {width: 70%;max-width: 15rem;margin: 0.5rem auto 0;display: block;} } } } // 全站范围内用到的图文基本样式 .goods_words { display:inline-block; padding:0.3rem 0.5rem;border-radius: 0.3rem;background:#f60;color:#fff;font-size: 1.2rem;margin-bottom: 0.5rem; } .goods_title,.goods_price,.goods_info { display: block;position: relative; @include ts(); // 引用文字描白边代码片 @include online(1.8rem); // 引用文字超出一行省略号代码片 } .goods_title {color:#000;font-size: 1.2rem;} .goods_info {color:#999;font-size: 1.2rem;} .goods_price {color:#f60;font-size: 1.5rem;font-weight: bold;}
의 사용에 있습니다. 위의 블로그 게시물에서 각 선택자의 의미와 위치 지정 등을 이해하세요.
요약
이번 장의 핵심은 nth-child
- 배치 레이아웃이 매우 중요합니다.
특정 프로젝트에서 사용하는 방법이 매우 강력한 CSS 선택기입니다.
-
강조nth-child
:
등 최신 CSS 속성을 지원하지 않습니다. 따라서 이 글에서는 전통적인 CSS 기법을 사용하여 문제를 해결하는 방법을 제시합니다. (2.) 이 시리즈에서는 모바일 단말기에 대한 나의 경험과 통찰력을 단계별로 설명할 계획입니다. 일부 사람들은 첫 번째 장을 읽은 후 감탄했습니다. 이것은 거의 질문하고 싶습니다. 어떤 프로그래밍 책이든
부터 시작됩니다.clac
vw
부터 시작됩니다.
위 내용은 H5 모바일 단말기에서 다양한 목록을 만드는 방법 (6)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











HTML의 테이블 테두리 안내. 여기에서는 HTML의 테이블 테두리 예제를 사용하여 테이블 테두리를 정의하는 여러 가지 방법을 논의합니다.

HTML의 Nested Table에 대한 안내입니다. 여기에서는 각 예와 함께 테이블 내에 테이블을 만드는 방법을 설명합니다.

HTML 여백-왼쪽 안내. 여기에서는 HTML margin-left에 대한 간략한 개요와 코드 구현과 함께 예제를 논의합니다.

HTML 테이블 레이아웃 안내. 여기에서는 HTML 테이블 레이아웃의 값에 대해 예제 및 출력 n 세부 사항과 함께 논의합니다.

HTML 입력 자리 표시자 안내. 여기서는 코드 및 출력과 함께 HTML 입력 자리 표시자의 예를 논의합니다.

HTML 순서 목록에 대한 안내입니다. 여기서는 HTML Ordered 목록 및 유형에 대한 소개와 각각의 예에 대해서도 설명합니다.

HTML에서 텍스트 이동 안내. 여기서는 Marquee 태그가 구문과 함께 작동하는 방식과 구현할 예제에 대해 소개합니다.

HTML onclick 버튼에 대한 안내입니다. 여기에서는 각각의 소개, 작업, 예제 및 다양한 이벤트의 onclick 이벤트에 대해 설명합니다.
