Exemple de mise en page de la maçonnerie CSS
可以使用CSS Grid或CSS多列布局实现类瀑布流效果,但原生display: masonry尚未被广泛支持。1. 使用CSS Grid:通过设置display: grid、grid-template-columns定义列数、grid-auto-rows定义行高并结合gap间距,使不同高度的项目自动排列成近似瀑布流的布局,配合break-inside: avoid防止内容断行,适用于现代浏览器且支持响应式调整列数。2. 使用CSS多列布局(column-count):适用于文本或简单元素,通过column-count划分列数,item设为inline-block并避免分页断开,优点是天然支持垂直堆叠,缺点是控制性弱、仅适合顺序排列。3. 注意事项:当前(2025年初)原生display: masonry仍处于提案阶段,主流浏览器不支持,如需精准填空排列(如Pinterest风格),应使用JavaScript库如Masonry.js或Isotope。综上,对一般项目推荐使用CSS Grid模拟瀑布流,兼顾兼容性与维护性;复杂场景建议采用JS方案以获得更优布局效果。
CSS Masonry Layout(瀑布流布局)是一种常见的网页布局方式,特别适合展示图片、卡片等内容不等高的场景。虽然传统的“masonry”效果多用 JavaScript 实现(如 Masonry.js),但现在可以通过 CSS 的 column-count
+ inline-block
或 display: grid
来实现简易的纯 CSS 瀑布流效果。

下面是一个使用 纯 CSS Grid 模拟 Masonry 布局 的实用示例(目前原生 display: masonry
尚未广泛支持,但可以用 Grid 折中实现):
✅ 使用 CSS Grid 实现类 Masonry 布局
HTML 结构
<div class="masonry-grid"> <div class="item">Item 1<br>Some content here.</div> <div class="item">Item 2<br>Short</div> <div class="item">Item 3<br>A longer item with more text.</div> <div class="item">Item 4<br>Image or card</div> <div class="item">Item 5<br>Another one</div> <div class="item">Item 6<br>Very tall content<br>Line<br>Line<br>Line</div> </div>
CSS 样式
.masonry-grid { display: grid; grid-template-columns: repeat(3, 1fr); /* 3列 */ grid-auto-rows: minmax(100px, auto); /* 最小高度,避免太扁 */ gap: 12px; /* 间距 */ padding: 16px; } .item { background: #f0f0f0; border: 1px solid #ddd; border-radius: 8px; padding: 16px; /* 关键:让项目自动“堆叠”而不强制对齐行 */ break-inside: avoid; /* 避免在打印或分页时断开 */ word-wrap: break-word; } /* 响应式:在小屏幕上变为2列或1列 */ @media (max-width: 768px) { .masonry-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 480px) { .masonry-grid { grid-template-columns: 1fr; } }
? 效果说明
- 这种方法利用了 CSS Grid 自动行生成(
grid-auto-rows
) 和 内容高度自适应 的特性。 - 每个
.item
高度不同,Grid 会自动排列成类似“瀑布流”的视觉效果。 - 虽然不是严格意义上的 Masonry(比如无法像 JS 那样精确填空),但在大多数现代浏览器中表现良好。
⚠️ 注意事项
- 原生
display: masonry
还未支持:目前(截至 2025 年初)主流浏览器尚未支持display: masonry
(属于 CSSWG 提案阶段),所以不能直接使用。 - 更真实的 Masonry?用 JS:如果需要更精确的布局(如 Pinterest 风格),推荐使用 JavaScript 库:
- Masonry by Metafizzy
- Isotope(功能更强)
- 或使用 React/Vue 的第三方组件封装。
✅ 替代方案:使用 CSS 多列(column-count
)
适合文本类或简单元素的瀑布流:

.masonry-columns { column-count: 3; column-gap: 16px; } .item { display: inline-block; width: 100%; margin-bottom: 12px; break-inside: avoid; /* 防止元素被切断 */ }
优点:天然支持瀑布流排列;缺点:只适合从上到下顺序流式布局,控制性差。
基本上就这些。对于大多数现代项目,用 Grid 模拟 + 响应式处理 是最简单、兼容性好的方案。真正复杂的 Masonry 排列还是交给 JS 更稳妥。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les unités VW et VH obtiennent une conception réactive en associant des tailles d'élément avec la largeur et la hauteur de la fenêtre; 1VW est égal à 1% de la largeur de la fenêtre et 1VH est égal à 1% de la hauteur de la fenêtre; couramment utilisé dans la zone pleine écran, les polices réactives et l'espacement élastique; 1. Utilisez 100VH ou mieux 100dvh dans la zone en plein écran pour éviter l'influence de la barre d'adresse du navigateur mobile; 2. 3. Espacement élastique comme la largeur: 80vw, marge: 5Vhauto, rembourrage: 2VH3VW, peut rendre la disposition adaptable; Faites attention à la compatibilité des appareils mobiles, à l'accessibilité et aux conflits de contenu de largeur fixe, et il est recommandé de donner la priorité à l'utilisation d'abord de DVH;

1. Binance est connue pour son énorme volume de transactions et ses paires de trading riches. Il fournit des modèles de trading diversifiés et des écosystèmes parfaits. Il garantit également la sécurité des actifs des utilisateurs via les fonds SAFU et les technologies de sécurité multiples et attache une grande importance aux opérations conformes; 2. OKX OUYI fournit un large éventail de services de trading d'actifs numériques et de modèles de comptes de trading unifiés, déploie activement le domaine Web3 et améliore la sécurité et l'expérience des transactions grâce à un contrôle des risques strict et à l'éducation des utilisateurs; 3. Gate.io Sesame ouvre la porte et a une bonne vitesse de devise et une monnaie riche, fournit des outils de trading diversifiés et des services à valeur ajoutée, adopte plusieurs mécanismes de vérification de sécurité et adhère à la transparence des réserves d'actifs pour améliorer la confiance des utilisateurs; 4. Huobi fournit des services d'actifs numériques à guichet unique avec une accumulation profonde de l'industrie, avec une forte profondeur de transaction et

ThecsssfilterPropertyAllowsVisualEffectslikeBlur, Brightness et GrayscaletobeAppliedDirectlyToHtMlelements.1) usethesyntaxfilter: filter-function (valeur) toapplyeffects.2) combinemultipleFilterSwithSpacesparation, e.g., Blur (2px) Brightness (70%).

Lorsque vous utilisez des sélecteurs CSS, les sélecteurs à faible spécifiquement spécifique doivent être utilisés en premier pour éviter les limitations excessives; 1. Comprendre le niveau de spécificité et les utiliser raisonnablement dans l'ordre de type, de classe et d'ID; 2. Utilisez des noms de classe polyvalents pour améliorer la réutilisabilité et la maintenabilité; 3. Utilisez des attributs et des sélecteurs de classe pseudo pour éviter les problèmes de performances; 4. Gardez le sélecteur court et clair; 5. Utiliser BEM et d'autres spécifications de dénomination pour améliorer la clarté structurelle; 6. Évitez les abus de sélecteurs de balises et: nième-enfant, et donnez la priorité à l'utilisation de classes d'outils ou de CSS modulaires pour s'assurer que le style est contrôlable pendant longtemps.

Utilisez une div avec bordure pour créer rapidement des lignes verticales et définissez des styles et des hauteurs en fixant la bordure-gauche et la hauteur; 2. Utiliser :: avant ou :: après des pseudo-éléments pour ajouter des lignes verticales sans étiquettes HTML supplémentaires, adaptées à la séparation décorative; 3. Dans la disposition de Flexbox, en réglant la largeur et la couleur d'arrière-plan de la classe de diviseur, les séparateurs verticaux adaptatifs entre les conteneurs élastiques peuvent être obtenus; 4. Dans CSSGrid, insérez les lignes verticales sous forme de colonnes indépendantes (telles que les colonnes auto-idgeth) en disposition de la grille, qui convient à la conception réactive; La méthode la plus appropriée doit être sélectionnée en fonction de la mise en page spécifique pour s'assurer que la structure est simple et facile à entretenir.

Utilisez CSS pour créer des bordures pointillées, il suffit de définir l'attribut de bordure aux pointillés. Par exemple, "Border: 3pxdotted # 000" peut ajouter une bordure à point noir de 3 pixels à l'élément. En ajustant la largeur des frontières, la taille du point peut être modifiée. Les frontières plus larges produisent des points plus importants. Vous pouvez définir des bordures pointillées pour un certain côté, comme "Border-top: 2pxdottedDred". Les bordures en pointillés conviennent aux éléments au niveau du bloc tels que Div et Entrée. Ils sont souvent utilisés dans les états d'intérêt ou les domaines modifiables pour améliorer l'accessibilité. Faites attention au contraste des couleurs. Dans le même temps, différent du style courte de la ligne courte, en pointillés présente une forme de point circulaire. Cette fonction est largement utilisée dans tous les navigateurs traditionnels.

Pour modifier le style de liste CSS, utilisez d'abord le type de style liste pour modifier la balle ou le style de numérotation. 1. Utilisez du type de style liste pour régler la balle de UL à disque, cercle ou carré, et le nombre d'OL est décimal, inférieur alpha, haut-alpha, inférieur-romain ou haut-romain. 2. Supprimez complètement la balise avec la liste: aucun. 3. Utilisez la liste-image: URL ('Bullet.png') pour la remplacer par une image personnalisée. 4. Utilisez la position de style liste: dans

L'attribut en mode mélange de mélange est utilisé pour contrôler l'effet de mélange de la teneur en élément et de l'arrière-plan. 1. Multiply peut réaliser le chevauchement des images de texte et d'arrière-plan; 2. L'écran éclaire l'image et convient aux arrière-plans sombres; 3. La superposition améliore le contraste, combinant les fonctionnalités multipliées et écran; 4. La différence crée un contraste fort, qui convient au design créatif; Il est nécessaire de s'assurer que les éléments se chevauchent et l'ordre d'empilement de l'indice Z
