簡體   English   中英

砌體不適用於引導程序 5 和 angular 13

[英]Masonry not working with bootstrap 5 and angular 13

我在我的網站( https://mypleaks.com )上沿引導程序 5 和 angular 13 新實施了砌體。

我參考了https://getbootstrap.com/docs/5.1/examples/masonry/中的示例並添加了<script src="https://cdn.jsdelivr.net/npm/masonry-layout@4.2.2/dist/masonry.pkgd.min.js" integrity="sha384-GNFwBvfVxBkLMJpYMOABq3c+d3KnQxudP/mGPkzpZSTYykLBNsZEnG2D9G/X/+7D" crossorigin="anonymous" async></script>

我已經動態創建了如下卡片:

<div class="container-lg content-container mt-lg-5 pr-lg-3 pl-lg-3 pt-lg-2 mt-3 p-0">
    <div class="row" data-masonry='{"percentPosition": true }' style="position: relative; height: 1068px;">
        <div class="col-sm-6 col-lg-4 mb-4" *ngFor="let content of contentList">
            <div class="card" [class.remove-card-border]="content.contentType === advertisement">
                <img *ngIf="content.attachments" [src]="content.attachments[0].identifier" class="card-img-top">
                <div *ngIf="content.contentType != advertisement" class="card-body">
                    <h5 class="card-title">{{ content.title }}</h5>
                    <p class="card-text">{{ content.contentText }} <a [href]="content.externalUrl" class="text-nowrap" target="_blank">read more</a></p>
                    <div class="btn-toolbar d-flex justify-content-center" role="toolbar" aria-label="Toolbar with button groups">
                        <div class="btn-group mr-3 input-group" role="group" aria-label="First group" ngbTooltip="good enough, people should know">
                            <button type="button" [disabled]="evaluationClicked" class="btn btn-success" placement="top"
                            (click)="upVote(content); evaluationClicked = true;"><i class="fa fa-thumbs-up" aria-hidden="true"></i></button>
                            <div class="input-group-prepend">
                                <div class="input-group-text">{{content.promoteCount}}</div>
                            </div>
                        </div>
                        <div class="btn-group ml-3 input-group" role="group" aria-label="Second group" ngbTooltip="fake or not good enough">
                            <div class="input-group-prepend">
                                <div class="input-group-text">{{content.rejectCount}}</div>
                            </div>
                            <button type="button" [disabled]="evaluationClicked" class="btn btn-danger" placement="top"
                            (click)="downVote(content); evaluationClicked = true;"><i class="fa fa-thumbs-down fa-flip-horizontal" aria-hidden="true"></i></button>
                        </div>
                    </div>
                </div>
                <div *ngIf="content.contentType === advertisement" class="d-flex justify-content-center">
                    <app-google-ads></app-google-ads>
                </div>
            </div>
        </div>
    </div>
</div>

不知何故,樣式未在 myPleaks 上更新,類似於引導示例,請參閱下面的片段myPleaks 上的樣式未更新

引導示例在引導示例中更新樣式

提前感謝您的幫助。

我使用ngx-masonry代替直接使用masonry-layout 以下是 package.json 依賴項。 並參考這里的文檔

"masonry-layout": "^4.2.2",
"ngx-masonry": "^13.0.0"

在 app.module.ts 中添加以下模塊在此處輸入圖像描述

將動態代碼包裝在標簽<ngx-masonry [options]="myOptions">中,並在組件實現中添加以下配置。

public myOptions: NgxMasonryOptions = {
gutter: 10};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM