目錄
H5行動端各種各樣的清單的製作方法(六) 
複雜圖文混排列表
html程式碼
苹果iPhone6s
苹果iPhone6s苹果iPhone6s苹果iPhone6s苹果iPhone6s
SASS代碼
小結
首頁 web前端 H5教程 H5行動端各種各樣的列表的製作方法(六)

H5行動端各種各樣的列表的製作方法(六)

Mar 10, 2017 pm 04:44 PM

H5行動端各種各樣的清單的製作方法(六) 

如果你是先看到的這篇文章,建議您先去上面的連結,把對應的內容給看一下,這樣上下文連貫,更容易理解本文的內容.

#在前面兩章中,講的都是兩列佈局的圖文列表.而事實上,兩列佈局的圖文列表還是比較簡單的.這一章,我們將要更進一步來挑戰難度.實現一個相對來說,非常複雜的佈局方式.

並且,為兼容安卓4.4以下,以及部分傻逼國產移動端瀏覽器.我們將在實踐中,放棄calc\vh\vwcss3最新屬性.只使用比較簡單的參數,來實現這個佈局.

複雜圖文混排列表

這部分是比較複雜的,但是,特別特別的常見.我們先來看一下最終效果圖.

H5行動端各種各樣的列表的製作方法(六)

#如上圖所示,這應該算是一個比較複雜的圖文列表了.不知道你看到這個佈局,你會構建怎麼樣的DOM框架.

#我是這樣考慮的.為了後端能夠方便的輸出,這六個產品,必須格式統一.因此,我的HTML程式碼如下:

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>
登入後複製

可以看到,在這個HTML結構中,我並沒有給li加上不同的class.而事實上,在後端輸出的時候,是可以輸出不同的class的.但這回使事情複雜.因此,在這裡,我們就只輸出純的程式碼.順便,溫習一下我之前的博文《css3的nth-child選擇器的詳細探討》.

SASS代碼

.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實現行動端常見佈局-高度和寬度掛鉤的秘密》裡面,我就是講解的這個佈局的實現方法.在那篇文章的發布之後,有人問我,你這樣佈局,裡面的內容怎麼排布呢?我說用定位佈局,他還是沒聽明白.不知道看到我這篇文章之後,明白了沒有.

具體程式碼是什麼意思,我這裡就不詳細解釋了.自己看了分析吧.重點是nth-child的使用,可以參考我上面的博文,理解我每一個選擇器是什麼意思.以及,定位佈局等.

小結

這一章的重點有

  1. CSS如何實現元素的高度和寬度掛鉤.

  2. 定位佈局,相當的重要

  3. nth-child 實在是一個非常強大的CSS選擇器,在具體專案中,怎麼使用它.

強調:
(1.)安卓4.4以下和部分國產行動端瀏覽器不支援clac\ vw \ vh 等最新的CSS屬性.因此,文中的方法是使用傳統CSS中的技巧解決.
(2.)本系列文章我準備循序漸經的講解移動端的一些我的經驗見解.某些人看了第一章就驚呼,這也太簡單了.我想反問一句,幾乎任何編程書籍都是從hello world開始的.是不是也都是很簡單呢?

以上是H5行動端各種各樣的列表的製作方法(六)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在這裡我們也分別討論了 HTML 有序列表和類型的介紹以及它們的範例

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

See all articles