国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流

這篇具有很好參考價值的文章主要介紹了css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流,css3,前端,javascript

前提是每張圖片寬度要設置成一樣,準備15張圖測試文章來源地址http://www.zghlxwxcb.cn/news/detail-721292.html

<div class="img-main">
                <div>
                    <img src="@/assets/images/sq/1.jpg" alt="" title="1">
                </div>
                <div>
                    <img src="@/assets/images/sq/2.jpg" alt="" title="2">
                </div>
                <div>
                    <img src="@/assets/images/sq/3.jpg" alt="" title="3">
                </div>
                <div>
                    <img src="@/assets/images/sq/4.jpg" alt="" title="4">
                </div>
                <div>
                    <img src="@/assets/images/sq/5.jpg" alt="" title="5">
                </div>
                <div>
                    <img src="@/assets/images/sq/6.jpg" alt="" title="6">
                </div>
                <div>
                    <img src="@/assets/images/sq/7.jpg" alt="" title="7">
                </div>
                <div>
                    <img src="@/assets/images/sq/8.jpg" alt="" title="8">
                </div>
                <div>
                    <img src="@/assets/images/sq/9.jpg" alt="" title="9">
                </div>
                <div>
                    <img src="@/assets/images/sq/00.jpg" alt="" title="00">
                </div>
                <div>
                    <img src="@/assets/images/sq/11.jpg" alt="" title="11">
                </div>
                <div>
                    <img src="@/assets/images/sq/12.jpg" alt="" title="12">
                </div>
                <div>
                    <img src="@/assets/images/sq/13.jpg" alt="" title="13">
                </div>
                <div>
                    <img src="@/assets/images/sq/14.jpg" alt="" title="14">
                </div>
                <div>
                    <img src="@/assets/images/sq/15.jpg" alt="" title="15">
                </div>
 </div>

1.屏幕大小列可變column實現(xiàn),設置默認每列的圖片寬度

 //瀑布流column實現(xiàn)
 .img-main {
    //寬度200px 
    column-width: 300px;
    //列之間間隔2px 
    column-gap: 2px;
}
.img-main>div>img {
    width: 100%;
} 

2.屏幕大小列可變2 @media來控制


/* //瀑布流column實現(xiàn) */
.img-main {
    /* 設置列數(shù) 改變屏幕大小@media 來控制-實現(xiàn) 默認1列-可自動改變  */
    column-count: 1;
    /* 列之間間隔2px  */
    column-gap: 2px;
      /* 設置每個item的底部間距 */
    margin-bottom: 2px;
}

.img-main>div>img {
    /* 不變形設置,默認寬大小 */
    width: 100%;
    /* 設置每個item的底部間距 */
    margin-bottom: 2px;
    /* break-inside: avoid; */
    /* 防止圖片被拆分到兩列 */
}

/* 使用媒體查詢,根據(jù)屏幕大小來調(diào)整列數(shù) */
@media (min-width: 768px) {
    .img-main {
        column-count: 3;
        /* 屏幕寬度大于等于768px時,設置為3列 */
    }
}

@media (min-width: 1024px) {
    .img-main {
        column-count: 6;
        /* 屏幕寬度大于等于1024px時,設置為4列 */
    }
}

3.不可變-屏幕大小列不可變

.img-main {  
  column-count: 4; /* 設置列數(shù)為4 */  
  column-gap: 10px; /* 設置列之間的間距 */  
}  
.img-main>div {  
  margin-bottom: 10px; /* 設置每個item的底部間距 */  
  break-inside: avoid; /* 防止圖片被拆分到兩列 */  
}  
.img-main>div>img {  
  width: 100%; /* 圖片寬度自適應列寬 */  
  height: auto; /* 圖片高度自適應以保持原始比例 */  
}

4.不可變-屏幕大小列不可變

/* //瀑布流column實現(xiàn) */
.img-main {
    /* 默認5列  */
    column-count: 5;
    /* 列之間間隔2px  */
    column-gap: 2px;
      /* 設置每個item的底部間距 */
    margin-bottom: 2px;
}

.img-main>div>img {
    /* 不變形設置,默認寬大小 */
    width: 100%;
    /* 設置每個item的底部間距 */
    margin-bottom: 2px;
    /* break-inside: avoid; */
    /* 防止圖片被拆分到兩列 */
}

5.可變-可變js來實現(xiàn)-屏幕大小列可變

  .img-main {
            position: relative;
        }
        .img-main>div>img {
            width: 200px;
            vertical-align: top;
            padding: 5px;
        }

<script>
    $(function () {
        // 獲取圖片的寬度(200px)
        let imgWidth = $('img').outerWidth(); // 200

        waterfallHandler();

        // 瀑布流處理
        function waterfallHandler() {
            // 獲取圖片的列數(shù)
            let column = parseInt($(window).width() / imgWidth);

            // 高度數(shù)組
            let heightArr = [];
            for(let i=0; i<column; i++) {
                heightArr[i] = 0;
            }

            // 遍歷所有圖片進行定位處理
            $.each($('img'), function (index, item) {
                // 當前元素的高度
                let itemHeight = $(item).outerHeight();
                // 高度數(shù)組最小的高度
                let minHeight = Math.min(...heightArr);
                // 高度數(shù)組最小的高度的索引
                let minIndex = heightArr.indexOf(minHeight);

                $(item).css({
                    position: 'absolute',
                    top: minHeight + 'px',
                    left: minIndex * imgWidth + 'px'
                });

                heightArr[minIndex] += itemHeight;
            });
        }

        // 窗口大小改變
        $(window).resize(function () {
            waterfallHandler();
        });
    });
</script>

到了這里,關(guān)于css3實現(xiàn)圖片瀑布流,根據(jù)屏幕大小列可變和不可變的的瀑布流的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • CSS3實現(xiàn)圖片的3D旋轉(zhuǎn)效果

    CSS3實現(xiàn)圖片的3D旋轉(zhuǎn)效果

    準備兩張圖片,尺寸一樣大,本代碼中是繞 Y 軸進行旋轉(zhuǎn)(也可以改為 X 軸)。 先看看效果: ? 代碼如下:

    2024年02月12日
    瀏覽(26)
  • PyQt5:窗口大小根據(jù)屏幕大小自適應調(diào)整
  • CSS 實現(xiàn)鼠標移動到圖片上圖片變大,不改變盒子大小

    CSS 實現(xiàn)鼠標移動到圖片上圖片變大,不改變盒子大小

    實現(xiàn)鼠標經(jīng)過圖片時,圖片等比放大,但是圖片的父盒子不會改變;主要使用了 css 的動畫來實現(xiàn)。

    2024年02月05日
    瀏覽(102)
  • 前端css + js +vue +element-ui 實現(xiàn)響應式布局,根據(jù)瀏覽器窗體大小自動響應

    我的環(huán)境是element-ui vue版的,其他的也可以,主要是css和js的內(nèi)容 首先在data中定義一個對象 其實就是css的樣式,不過放在了js 里面而已 這里css設置了兩個屬性 一個是transform 這個屬性對div標簽的縮放作用,當瀏覽器窗口或者屏幕大小改變時,就調(diào)整這個屬性的值,來等比縮放

    2024年02月13日
    瀏覽(35)
  • CSS3背景樣式詳解(圖像大小,圖像位置等)

    CSS3背景樣式詳解(圖像大小,圖像位置等)

    在CSS3中,新增了3個背景屬性 屬性 說明 background-size 背景大小 background-origin 背景位置 background-clip 背景剪切 概念:在CSS3之前,我們是不能用CSS來控制背景圖片大小的,背景圖片的大小都是由圖片實際大小確定的。 但在CSS3中,可以用background-size屬性來定義背景圖片的大小。

    2024年01月24日
    瀏覽(25)
  • CSS根據(jù)屏幕分辨率自動調(diào)整樣式

    CSS 根據(jù)屏幕分辨率自適應樣式的核心技術(shù)就是響應式設計(Responsive Design),主要依賴于CSS3的媒體查詢(Media Queries)。媒體查詢允許開發(fā)者根據(jù)設備的視窗寬度、高度、方向等特性來應用不同的CSS樣式規(guī)則。以下是幾個基本的媒體查詢示例: css 在上面的例子中: screen 指定

    2024年04月15日
    瀏覽(17)
  • CSS3:圖片邊框

    CSS3:圖片邊框

    圖片也可以作為邊框,以下是實例演示 實現(xiàn)該效果必須添加border樣式,且必須位于border-image-socure之前 否則不會生效

    2024年02月12日
    瀏覽(17)
  • pygame中將圖片填充到適合顯示屏幕大小

    ? ? ? ? 在pygame中顯示背景圖片時有時候會出現(xiàn)背景圖片與顯示屏幕大小不一的情況,這個程序應該能幫到你。?

    2024年02月06日
    瀏覽(21)
  • CSS3 用戶界面、圖片、按鈕

    一、CSS3用戶界面: 在CSS3中,增加了一些新的用戶界面特性來調(diào)整元素尺寸、框尺寸和外邊框。CSS3用戶界面屬性:resize、box-sizing、outline-offset。 1、resize: resize屬性指定一個元素是否應該由用戶去調(diào)整大小。 style div { border:2px solid; padding:10px 40px; width:300px; resize:both; overflow:a

    2024年02月03日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包