Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Gallery: Difference between revisions

Template page
No edit summary
No edit summary
Line 1: Line 1:
<includeonly>
<includeonly>
<ul class="template gallery" id="{{{id|mygallery}}}" {{#if:{{{perrow|}}}|style="width:{{#expr:({{#rmatch:{{{width|150px}}}|(\d+)|$1}}+10)*{{{perrow}}}}}px"}}>
{{#vardefine:uniqueClass|gallery-{{#timeseq:}}}}
{{#if:{{{caption|}}}|<li class="gallerycaption">{{{caption}}}</li>}}
<ul class="{{#var:uniqueClass}}" {{#if:{{{perrow|}}}|style="max-width:{{#expr:({{#rmatch:{{{width|150px}}}|(\d+)|$1}}+10)*{{{perrow}}}}px;"}}>
{{#forargs:|k|v|{{#rmatch:{{#var:k}}|^\d+$|{{#ifeq:{{#expr:{{#var:k}} mod 2}}|1|<li class="gallerybox"><div class="thumb">[[{{#var:v}}]]</div><div class="gallerytext"><p>|{{#var:v}}</p></div></li>}}}}}}
  {{#if:{{{caption|}}}|<li class="gallerycaption">{{{caption}}}</li>}}
  {{#forargs:|k|v|{{#rmatch:{{#var:k}}|^\d+$|{{#ifeq:{{#expr:{{#var:k}} mod 2}}|1|<li class="gallerybox"><div class="thumb">[[{{#var:v}}]]</div><div class="gallerytext"><p>|{{#var:v}}</p></div></li>}}}}}}
</ul>
</ul>
{{#if:{{#varexists:gallery}}
<style>
|
ul.{{#var:uniqueClass}} { margin: 2px; padding: 2px; }
|{{#vardefineecho:gallery
ul.{{#var:uniqueClass}} li.gallerycaption { font-weight: bold; text-align: center; word-wrap: break-word; }
|{{#css:
ul.{{#var:uniqueClass}} li.gallerybox { vertical-align: top; display: inline-flex; flex-direction: column; }
ul#{{{id|mygallery}}}.gallery.template{
ul.{{#var:uniqueClass}} li.gallerybox div.thumb {
     margin:2px;padding:2px;
    width: {{{width|150px}}};
    height: {{{height|150px}}};
    max-width: {{{width|150px}}};
     max-height: {{{height|150px}}};  
    padding: 15px;
    border: 1px solid #c8ccd1;
    background-color: #f8f9fa;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 4px;  
}
}
ul#{{{id|mygallery}}}.gallery.template li.gallerycaption{
ul.{{#var:uniqueClass}} li.gallerybox div.thumb img {
     font-weight:bold;text-align:center;word-wrap:break-word
    max-width: {{#expr:({{#rmatch:{{{width|150px}}}|(\d+)|$1}}-30)}}px;
     max-height: {{#expr:({{#rmatch:{{{width|150px}}}|(\d+)|$1}}-30)}}px;  
    object-fit: contain;  
    margin: 0 auto;
}
}
ul#{{{id|mygallery}}}.gallery.template li.gallerybox{
ul.{{#var:uniqueClass}} div.gallerytext { overflow: hidden; font-size: 94%; padding: 2px 4px; word-wrap: break-word; text-align: center; }
    vertical-align:top;display:inline-flex;flex-direction:column;
</style>
}
ul#{{{id|mygallery}}}.gallery.template li.gallerybox div.thumb{
    width:{{{width|150px}}};
    height:{{{height|150px}}};
    padding:5px;
    border:1px solid #c8ccd1;
    background-color:#f8f9fa;
    display:flex;
    justify-content:center;
    align-items:center;margin:4px;
}
ul#{{{id|mygallery}}}.gallery.template li.gallerybox div.thumb img{
    width:{{#expr:({{#rmatch:{{{width|150px}}}|(\d+)|$1}}-10)}}px;
    height:{{#expr:({{#rmatch:{{{height|150px}}}|(\d+)|$1}}-10)}}px;
    object-fit:contain;margin:0 auto;
}
ul#{{{id|mygallery}}}.gallery.template div.gallerytext{
    overflow:hidden;font-size:94%;padding:2px 4px;word-wrap:break-word;text-align:center;
}  
}}}}}}
</includeonly>
</includeonly>
<noinclude>
模板使用说明
</noinclude>


<noinclude>
<noinclude>

Revision as of 18:57, 1 August 2024


模板使用说明



标签 <gallery> 的替代品,支持gif动图

使用方法

调用参数

{{gallery|id=<id>|caption=<caption>|width=<width>|height=<height>|perrow=<perrow>
|file1|title1
|file2|title2
…
|fileN|titleN
}}

必填

  • file:图片名

选填

  • id: gallery 当在同一个页面中需要多次调用此模板时必填
  • caption:gallery的标题
  • width:宽(单位:px)
  • height:高(单位:px)
  • perrow:每行显示数量
  • title:图片提示文字

示例1

你所写的

{{gallery
|file:Main MPI3508.jpg|文字描述
|file:4.0-HDMI-004.jpg|可以指向[[首页]]
|file:4.0-HDMI-004.jpg|
}}

显示内容

<ul class="gallery-{{#timeseq:}}" {{#if:|style="max-width:Expression error: Unrecognized punctuation character "{".>

  • 文字描述

  • 可以指向首页

  • <style> ul.gallery-{{#timeseq:}} { margin: 2px; padding: 2px; } ul.gallery-{{#timeseq:}} li.gallerycaption { font-weight: bold; text-align: center; word-wrap: break-word; } ul.gallery-{{#timeseq:}} li.gallerybox { vertical-align: top; display: inline-flex; flex-direction: column; } ul.gallery-{{#timeseq:}} li.gallerybox div.thumb {

       width: 150px; 
       height: 150px; 
       max-width: 150px; 
       max-height: 150px; 
       padding: 15px; 
       border: 1px solid #c8ccd1; 
       background-color: #f8f9fa; 
       display: flex; 
       justify-content: center; 
       align-items: center; 
       margin: 4px; 
    

    } ul.gallery-{{#timeseq:}} li.gallerybox div.thumb img {

       max-width: 120px; 
       max-height: 120px; 
       object-fit: contain; 
       margin: 0 auto; 
    

    } ul.gallery-{{#timeseq:}} div.gallerytext { overflow: hidden; font-size: 94%; padding: 2px 4px; word-wrap: break-word; text-align: center; } </style>




    示例2

    你所写的

    {{gallery|id=grallery2|caption=标题|width=300px|height=200px|perrow=2
    |file:Main MPI3508.jpg|文字描述
    |file:4.0-HDMI-004.jpg|可以指向[[首页]]
    |file:4.0-HDMI-004.jpg|
    }}

    显示内容

    <ul class="gallery-{{#timeseq:}}" {{#if:2|style="max-width:Expression error: Unrecognized punctuation character "}".>

  • 标题
  • 文字描述

  • 可以指向首页

  • <style> ul.gallery-{{#timeseq:}} { margin: 2px; padding: 2px; } ul.gallery-{{#timeseq:}} li.gallerycaption { font-weight: bold; text-align: center; word-wrap: break-word; } ul.gallery-{{#timeseq:}} li.gallerybox { vertical-align: top; display: inline-flex; flex-direction: column; } ul.gallery-{{#timeseq:}} li.gallerybox div.thumb {

       width: 300px; 
       height: 200px; 
       max-width: 300px; 
       max-height: 200px; 
       padding: 15px; 
       border: 1px solid #c8ccd1; 
       background-color: #f8f9fa; 
       display: flex; 
       justify-content: center; 
       align-items: center; 
       margin: 4px; 
    

    } ul.gallery-{{#timeseq:}} li.gallerybox div.thumb img {

       max-width: 270px; 
       max-height: 270px; 
       object-fit: contain; 
       margin: 0 auto; 
    

    } ul.gallery-{{#timeseq:}} div.gallerytext { overflow: hidden; font-size: 94%; padding: 2px 4px; word-wrap: break-word; text-align: center; } </style>