艾倩烧烤 發表於 2025-11-24 16:05:00

相册由原来Lightbox升级至Vue2瀑布流

<p>一直以来,图片展示,均使用lightbox来实现,如:</p>
<p>https://www.cnblogs.com/insus/archive/2013/05/18/3085114.html</p>
<p>https://www.cnblogs.com/insus/p/18638016<br><br>随着时间进步,用户体验,在电脑上浏览时仍觉得可以,但在手机上浏览时,却是另外一种体验。<br>好吧,上星周未,把程序改一改,改为瀑布流式.....<br><br>项目是在原有的基础上修改新增功能,许多功能已经不必再重新开发与编写。<br><br>瀑布流图片展示,可以定义每次加载几张图片,这个需要对图片数据进行分页。<br><br></p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_0e4300ad-de5c-42bd-b0bc-c39d6dadb47e" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_0e4300ad-de5c-42bd-b0bc-c39d6dadb47e" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_0e4300ad-de5c-42bd-b0bc-c39d6dadb47e" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 255, 1)">SET</span> ANSI_NULLS <span style="color: rgba(0, 0, 255, 1)">ON</span>
<span style="color: rgba(0, 0, 255, 1)">GO</span>
<span style="color: rgba(0, 0, 255, 1)">SET</span> QUOTED_IDENTIFIER <span style="color: rgba(0, 0, 255, 1)">ON</span>
<span style="color: rgba(0, 0, 255, 1)">GO</span>
<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)"> =============================================</span><span style="color: rgba(0, 128, 128, 1)">
--</span><span style="color: rgba(0, 128, 128, 1)"> Author:      &lt;Author,,Insus.NET&gt;</span><span style="color: rgba(0, 128, 128, 1)">
--</span><span style="color: rgba(0, 128, 128, 1)"> Create date: &lt;Create Date,,2025-11-22&gt;</span><span style="color: rgba(0, 128, 128, 1)">
--</span><span style="color: rgba(0, 128, 128, 1)"> Description:    &lt;Description,,获取媒体数据,并进行数据分页&gt;</span><span style="color: rgba(0, 128, 128, 1)">
--</span><span style="color: rgba(0, 128, 128, 1)"> =============================================</span>
<span style="color: rgba(0, 0, 255, 1)">CREATE</span> <span style="color: rgba(0, 0, 255, 1)">PROCEDURE</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">dbo</span><span style="color: rgba(255, 0, 0, 1)">]</span>.<span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">usp_Media_GetByCatalogKey</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
(   
    </span><span style="color: rgba(0, 128, 0, 1)">@Catalog_nbr</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(0, 128, 0, 1)">@PageIndex</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
    </span><span style="color: rgba(0, 128, 0, 1)">@PageSize</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">
)
</span><span style="color: rgba(0, 0, 255, 1)">as</span>
<span style="color: rgba(0, 0, 255, 1)">BEGIN</span>
    <span style="color: rgba(0, 0, 255, 1)">DECLARE</span> <span style="color: rgba(0, 128, 0, 1)">@result</span> <span style="color: rgba(0, 0, 255, 1)">TABLE</span><span style="color: rgba(0, 0, 0, 1)">
    (
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">ID</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">FileName</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">NVARCHAR</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold">255</span><span style="color: rgba(0, 0, 0, 1)">),
      SystemName </span><span style="color: rgba(0, 0, 255, 1)">NVARCHAR</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold">255</span><span style="color: rgba(0, 0, 0, 1)">),
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Width</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Height</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalWidth</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalHeight</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">INT</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalImage_Path</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">NVARCHAR</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold">255</span><span style="color: rgba(0, 0, 0, 1)">),
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Thumbnail_Path</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(0, 0, 255, 1)">NVARCHAR</span>(<span style="color: rgba(128, 0, 0, 1); font-weight: bold">255</span><span style="color: rgba(0, 0, 0, 1)">)
    )   
    </span><span style="color: rgba(0, 0, 255, 1)">INSERT</span> <span style="color: rgba(0, 0, 255, 1)">INTO</span> <span style="color: rgba(0, 128, 0, 1)">@result</span><span style="color: rgba(0, 0, 0, 1)">
    (
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">ID</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">...</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Thumbnail_Path</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">
    )
    </span><span style="color: rgba(0, 0, 255, 1)">SELECT</span> <span style="color: rgba(0, 0, 255, 1)">TOP</span> (<span style="color: rgba(0, 0, 255, 1)">SELECT</span> <span style="color: rgba(0, 128, 0, 1)">@PageSize</span><span style="color: rgba(0, 0, 0, 1)">)
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media_nbr</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">FileName</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">SystemName</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Width</span><span style="color: rgba(255, 0, 0, 1)">]</span>,<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">缩略图宽度</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Height</span><span style="color: rgba(255, 0, 0, 1)">]</span>,<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">缩略图高度</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalWidth</span><span style="color: rgba(255, 0, 0, 1)">]</span>,<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">图宽度</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalHeight</span><span style="color: rgba(255, 0, 0, 1)">]</span>,<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">原图高度</span>
      <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media_Directory</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Storage_Directory</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/O/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">FileName</span><span style="color: rgba(255, 0, 0, 1)">]</span>,<span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">组合原图路径</span>
      <span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media_Directory</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Storage_Directory</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(128, 128, 128, 1)">+</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(255, 0, 0, 1)">/T/</span><span style="color: rgba(255, 0, 0, 1)">'</span><span style="color: rgba(128, 128, 128, 1)">+</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">SystemName</span><span style="color: rgba(255, 0, 0, 1)">]</span>    <span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">组合缩略图路径      </span>
    <span style="color: rgba(0, 0, 255, 1)">FROM</span><span style="color: rgba(0, 0, 0, 1)"> (
            </span><span style="color: rgba(0, 0, 255, 1)">SELECT</span> row_number() <span style="color: rgba(0, 0, 255, 1)">OVER</span>(<span style="color: rgba(0, 0, 255, 1)">ORDER</span> <span style="color: rgba(0, 0, 255, 1)">BY</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media_nbr</span><span style="color: rgba(255, 0, 0, 1)">]</span>) <span style="color: rgba(0, 0, 255, 1)">AS</span><span style="color: rgba(0, 0, 0, 1)"> rownumber,
                </span><span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media_nbr</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
                </span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">...</span>
                <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">OriginalHeight</span><span style="color: rgba(255, 0, 0, 1)">]</span>
            <span style="color: rgba(0, 0, 255, 1)">FROM</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">dbo</span><span style="color: rgba(255, 0, 0, 1)">]</span>.<span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Media</span><span style="color: rgba(255, 0, 0, 1)">]</span>   
            <span style="color: rgba(0, 0, 255, 1)">WHERE</span> <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Catalog_nbr</span><span style="color: rgba(255, 0, 0, 1)">]</span> <span style="color: rgba(128, 128, 128, 1)">=</span> <span style="color: rgba(0, 128, 0, 1)">@Catalog_nbr</span><span style="color: rgba(0, 0, 0, 1)">
            ) temp_row
    </span><span style="color: rgba(0, 0, 255, 1)">WHERE</span> rownumber <span style="color: rgba(128, 128, 128, 1)">&gt;</span> (<span style="color: rgba(0, 128, 0, 1)">@PageIndex</span> <span style="color: rgba(128, 128, 128, 1)">-</span> <span style="color: rgba(128, 0, 0, 1); font-weight: bold">1</span>) <span style="color: rgba(128, 128, 128, 1)">*</span> <span style="color: rgba(0, 128, 0, 1)">@PageSize</span><span style="color: rgba(0, 0, 0, 1)">;

    </span><span style="color: rgba(0, 0, 255, 1)">SELECT</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">ID</span><span style="color: rgba(255, 0, 0, 1)">]</span><span style="color: rgba(0, 0, 0, 1)">,
      </span><span style="color: rgba(0, 128, 128, 1)">--</span><span style="color: rgba(0, 128, 128, 1)">...</span>
      <span style="color: rgba(255, 0, 0, 1)">[</span><span style="color: rgba(255, 0, 0, 1)">Thumbnail_Path</span><span style="color: rgba(255, 0, 0, 1)">]</span>
    <span style="color: rgba(0, 0, 255, 1)">FROM</span> <span style="color: rgba(0, 128, 0, 1)">@result</span>
<span style="color: rgba(0, 0, 255, 1)">END</span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p>&nbsp;</p>
<p>引用vue类库,</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p>引用axios,</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">&lt;</span><span style="color: rgba(128, 0, 0, 1)">script </span><span style="color: rgba(255, 0, 0, 1)">src</span><span style="color: rgba(0, 0, 255, 1)">="~/Scripts/axios.js"</span><span style="color: rgba(0, 0, 255, 1)">&gt;&lt;/</span><span style="color: rgba(128, 0, 0, 1)">script</span><span style="color: rgba(0, 0, 255, 1)">&gt;</span></pre>
</div>
<p><br>样式,</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" id="code_img_closed_969b06d3-3068-49e1-8f62-cf969dddafae" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" id="code_img_opened_969b06d3-3068-49e1-8f62-cf969dddafae" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_969b06d3-3068-49e1-8f62-cf969dddafae" class="cnblogs_code_hide">
<pre><span style="color: rgba(128, 0, 0, 1)"> * </span>{<span style="color: rgba(255, 0, 0, 1)">
   margin</span>:<span style="color: rgba(0, 0, 255, 1)"> 0</span>;<span style="color: rgba(255, 0, 0, 1)">
   padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 0</span>;<span style="color: rgba(255, 0, 0, 1)">
   box-sizing</span>:<span style="color: rgba(0, 0, 255, 1)"> border-box</span>;
}<span style="color: rgba(128, 0, 0, 1)">

body </span>{<span style="color: rgba(255, 0, 0, 1)">
   font-family</span>:<span style="color: rgba(0, 0, 255, 1)"> 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif</span>;<span style="color: rgba(255, 0, 0, 1)">
   background-color</span>:<span style="color: rgba(0, 0, 255, 1)"> #f5f7fa</span>;<span style="color: rgba(255, 0, 0, 1)">
   color</span>:<span style="color: rgba(0, 0, 255, 1)"> #333</span>;<span style="color: rgba(255, 0, 0, 1)">
   padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 20px</span>;
}<span style="color: rgba(128, 0, 0, 1)">

.container </span>{<span style="color: rgba(255, 0, 0, 1)">
   max-width</span>:<span style="color: rgba(0, 0, 255, 1)"> 1200px</span>;<span style="color: rgba(255, 0, 0, 1)">
   margin</span>:<span style="color: rgba(0, 0, 255, 1)"> 0 auto</span>;
}<span style="color: rgba(128, 0, 0, 1)">


.loading </span>{<span style="color: rgba(255, 0, 0, 1)">
   text-align</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
   padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 20px</span>;<span style="color: rgba(255, 0, 0, 1)">
   font-size</span>:<span style="color: rgba(0, 0, 255, 1)"> 18px</span>;<span style="color: rgba(255, 0, 0, 1)">
   color</span>:<span style="color: rgba(0, 0, 255, 1)"> #3498db</span>;
}<span style="color: rgba(128, 0, 0, 1)">

.masonry-grid </span>{<span style="color: rgba(255, 0, 0, 1)">
   display</span>:<span style="color: rgba(0, 0, 255, 1)"> flex</span>;<span style="color: rgba(255, 0, 0, 1)">
   margin-left</span>:<span style="color: rgba(0, 0, 255, 1)"> -15px</span>;<span style="color: rgba(255, 0, 0, 1)">
   width</span>:<span style="color: rgba(0, 0, 255, 1)"> auto</span>;
}<span style="color: rgba(128, 0, 0, 1)">

.masonry-column </span>{<span style="color: rgba(255, 0, 0, 1)">
   padding-left</span>:<span style="color: rgba(0, 0, 255, 1)"> 15px</span>;<span style="color: rgba(255, 0, 0, 1)">
   background-clip</span>:<span style="color: rgba(0, 0, 255, 1)"> padding-box</span>;
}<span style="color: rgba(128, 0, 0, 1)">

.masonry-item </span>{<span style="color: rgba(255, 0, 0, 1)">
   margin-bottom</span>:<span style="color: rgba(0, 0, 255, 1)"> 15px</span>;<span style="color: rgba(255, 0, 0, 1)">
   border-radius</span>:<span style="color: rgba(0, 0, 255, 1)"> 8px</span>;<span style="color: rgba(255, 0, 0, 1)">
   overflow</span>:<span style="color: rgba(0, 0, 255, 1)"> hidden</span>;<span style="color: rgba(255, 0, 0, 1)">
   box-shadow</span>:<span style="color: rgba(0, 0, 255, 1)"> 0 4px 12px rgba(0, 0, 0, 0.1)</span>;<span style="color: rgba(255, 0, 0, 1)">
   transition</span>:<span style="color: rgba(0, 0, 255, 1)"> transform 0.3s ease, box-shadow 0.3s ease</span>;<span style="color: rgba(255, 0, 0, 1)">
   background-color</span>:<span style="color: rgba(0, 0, 255, 1)"> white</span>;
}<span style="color: rgba(128, 0, 0, 1)">

   .masonry-item:hover </span>{<span style="color: rgba(255, 0, 0, 1)">
         transform</span>:<span style="color: rgba(0, 0, 255, 1)"> translateY(-5px)</span>;<span style="color: rgba(255, 0, 0, 1)">
         box-shadow</span>:<span style="color: rgba(0, 0, 255, 1)"> 0 8px 20px rgba(0, 0, 0, 0.15)</span>;
   }<span style="color: rgba(128, 0, 0, 1)">

   .masonry-item img </span>{<span style="color: rgba(255, 0, 0, 1)">
         width</span>:<span style="color: rgba(0, 0, 255, 1)"> 100%</span>;<span style="color: rgba(255, 0, 0, 1)">
         display</span>:<span style="color: rgba(0, 0, 255, 1)"> block</span>;<span style="color: rgba(255, 0, 0, 1)">
         transition</span>:<span style="color: rgba(0, 0, 255, 1)"> opacity 0.3s ease</span>;
   }<span style="color: rgba(128, 0, 0, 1)">

.image-info </span>{<span style="color: rgba(255, 0, 0, 1)">
   padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 12px</span>;<span style="color: rgba(255, 0, 0, 1)">
   font-size</span>:<span style="color: rgba(0, 0, 255, 1)"> 14px</span>;
}<span style="color: rgba(128, 0, 0, 1)">

   .image-info p </span>{<span style="color: rgba(255, 0, 0, 1)">
         margin-bottom</span>:<span style="color: rgba(0, 0, 255, 1)"> 5px</span>;
   }<span style="color: rgba(128, 0, 0, 1)">

.dimensions </span>{<span style="color: rgba(255, 0, 0, 1)">
   color</span>:<span style="color: rgba(0, 0, 255, 1)"> #7f8c8d</span>;
}<span style="color: rgba(128, 0, 0, 1)">

.load-more </span>{<span style="color: rgba(255, 0, 0, 1)">
   text-align</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
   margin-top</span>:<span style="color: rgba(0, 0, 255, 1)"> 30px</span>;
}<span style="color: rgba(128, 0, 0, 1)">

   .load-more button </span>{<span style="color: rgba(255, 0, 0, 1)">
         background-color</span>:<span style="color: rgba(0, 0, 255, 1)"> #3498db</span>;<span style="color: rgba(255, 0, 0, 1)">
         color</span>:<span style="color: rgba(0, 0, 255, 1)"> white</span>;<span style="color: rgba(255, 0, 0, 1)">
         border</span>:<span style="color: rgba(0, 0, 255, 1)"> none</span>;<span style="color: rgba(255, 0, 0, 1)">
         padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 12px 24px</span>;<span style="color: rgba(255, 0, 0, 1)">
         border-radius</span>:<span style="color: rgba(0, 0, 255, 1)"> 4px</span>;<span style="color: rgba(255, 0, 0, 1)">
         cursor</span>:<span style="color: rgba(0, 0, 255, 1)"> pointer</span>;<span style="color: rgba(255, 0, 0, 1)">
         font-size</span>:<span style="color: rgba(0, 0, 255, 1)"> 16px</span>;<span style="color: rgba(255, 0, 0, 1)">
         transition</span>:<span style="color: rgba(0, 0, 255, 1)"> background-color 0.3s</span>;
   }<span style="color: rgba(128, 0, 0, 1)">

         .load-more button:hover </span>{<span style="color: rgba(255, 0, 0, 1)">
             background-color</span>:<span style="color: rgba(0, 0, 255, 1)"> #2980b9</span>;
         }<span style="color: rgba(128, 0, 0, 1)">

.error-message </span>{<span style="color: rgba(255, 0, 0, 1)">
   text-align</span>:<span style="color: rgba(0, 0, 255, 1)"> center</span>;<span style="color: rgba(255, 0, 0, 1)">
   color</span>:<span style="color: rgba(0, 0, 255, 1)"> #e74c3c</span>;<span style="color: rgba(255, 0, 0, 1)">
   padding</span>:<span style="color: rgba(0, 0, 255, 1)"> 20px</span>;<span style="color: rgba(255, 0, 0, 1)">
   background-color</span>:<span style="color: rgba(0, 0, 255, 1)"> #fadbd8</span>;<span style="color: rgba(255, 0, 0, 1)">
   border-radius</span>:<span style="color: rgba(0, 0, 255, 1)"> 4px</span>;<span style="color: rgba(255, 0, 0, 1)">
   margin</span>:<span style="color: rgba(0, 0, 255, 1)"> 20px 0</span>;
}<span style="color: rgba(128, 0, 0, 1)">

@@media (max-width: 768px) </span>{<span style="color: rgba(255, 0, 0, 1)">
   .masonry-grid {
         margin-left</span>:<span style="color: rgba(0, 0, 255, 1)"> -10px</span>;
   }<span style="color: rgba(128, 0, 0, 1)">

   .masonry-column </span>{<span style="color: rgba(255, 0, 0, 1)">
         padding-left</span>:<span style="color: rgba(0, 0, 255, 1)"> 10px</span>;
   }<span style="color: rgba(128, 0, 0, 1)">
}</span></pre>
</div>
<span class="cnblogs_code_collapse">View Code</span></div>
<p>&nbsp;</p>
<p>html,<br><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124133557316-2044784528.jpg" alt="2025-11-24_13-29-26" loading="lazy"></p>
<p>&nbsp;</p>
<p>js,<br><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124134617011-1369332794.jpg" alt="2025-11-24_13-38-36" loading="lazy"></p>
<p><br>下面是methods,代码详细,<br><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124135944266-1736932925.jpg" alt="2025-11-24_13-54-14" loading="lazy"></p>
<p>&nbsp;</p>
<p>方法3,请求数据,<br><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124145156883-847121802.jpg" alt="2025-11-24_14-01-22" loading="lazy"></p>
<p><br>方法4,</p>
<p><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124150030940-827224201.jpg" alt="2025-11-24_14-54-26" loading="lazy"></p>
<p>&nbsp;</p>
<p>asp.net mvc 5 + vue2 + axios,效果,<br><img src="https://img2024.cnblogs.com/blog/28036/202511/28036-20251124155727492-2015918624.gif" alt="4" loading="lazy"></p>
<p>&nbsp;</p>
<p><br><br></p><br><br>
来源:https://www.cnblogs.com/insus/p/19264292
頁: [1]
查看完整版本: 相册由原来Lightbox升级至Vue2瀑布流