diff --git a/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout-flexbox.css b/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout-flexbox.css
new file mode 100644
index 0000000000..3f921c0470
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout-flexbox.css
@@ -0,0 +1,35 @@
+/** Example of how a grid layout stylehseet could be done with Flex box: */
+
+.umb-block-grid__layout-container {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ gap: var(--umb-block-grid--row-gap, 0) var(--umb-block-grid--column-gap, 0);
+}
+.umb-block-grid__layout-item {
+ position: relative;
+ --umb-block-grid__layout-item-calc: calc(var(--umb-block-grid--item-column-span) / var(--umb-block-grid--grid-columns));
+ width: calc(var(--umb-block-grid__layout-item-calc) * 100% - (1 - var(--umb-block-grid__layout-item-calc)) * var(--umb-block-grid--column-gap, 0px));
+}
+
+
+.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ width: 100%;
+ gap: var(--umb-block-grid--areas-row-gap, 0) var(--umb-block-grid--areas-column-gap, 0);
+}
+.umb-block-grid__area {
+ position: relative;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ --umb-block-grid__area-calc: calc(var(--umb-block-grid--area-column-span) / var(--umb-block-grid--area-grid-columns, 1));
+ width: calc(var(--umb-block-grid__area-calc) * 100% - (1 - var(--umb-block-grid__area-calc)) * var(--umb-block-grid--areas-column-gap, 0px));
+}
+
+
+.umb-block-grid__actions {
+ clear: both;
+}
diff --git a/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout.css b/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout.css
new file mode 100644
index 0000000000..8a4f567cac
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/assets/css/umbraco-blockgridlayout.css
@@ -0,0 +1,46 @@
+.umb-block-grid__layout-container {
+ position: relative;
+ display: grid;
+ grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 1), minmax(0, 1fr));
+ grid-auto-flow: row;
+ grid-auto-rows: minmax(50px, min-content);
+
+ column-gap: var(--umb-block-grid--column-gap, 0);
+ row-gap: var(--umb-block-grid--row-gap, 0);
+}
+.umb-block-grid__layout-item {
+ position: relative;
+ /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
+ grid-column-end: span min(calc(var(--umb-block-grid--item-column-span, 1) * 3), var(--umb-block-grid--grid-columns));
+ grid-row: span var(--umb-block-grid--item-row-span, 1);
+}
+
+
+.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) {
+ position: relative;
+ display: grid;
+ grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, var(--umb-block-grid--grid-columns, 1)), minmax(0, 1fr));
+ grid-auto-flow: row;
+ grid-auto-rows: minmax(50px, min-content);
+
+ column-gap: var(--umb-block-grid--areas-column-gap, 0);
+ row-gap: var(--umb-block-grid--areas-row-gap, 0);
+}
+.umb-block-grid__area {
+ position: relative;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
+ grid-column-end: span min(calc(var(--umb-block-grid--area-column-span, 1) * 3), var(--umb-block-grid--area-grid-columns));
+ grid-row: span var(--umb-block-grid--area-row-span, 1);
+}
+
+@media (min-width:1024px) {
+ .umb-block-grid__layout-item {
+ grid-column-end: span min(var(--umb-block-grid--item-column-span, 1), var(--umb-block-grid--grid-columns));
+ }
+ .umb-block-grid__area {
+ grid-column-end: span min(var(--umb-block-grid--area-column-span, 1), var(--umb-block-grid--area-grid-columns));
+ }
+}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.ts
index 9cd3218e1c..0b3351a30e 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-grid/property-editors/block-grid-layout-stylesheet/property-editor-ui-block-grid-layout-stylesheet.element.ts
@@ -44,7 +44,7 @@ export class UmbPropertyEditorUIBlockGridLayoutStylesheetElement
.min=${0}
.max=${1}>
- Link to default layout stylesheet
+ Link to default layout stylesheet
`;
}
diff --git a/src/Umbraco.Web.UI.Client/staticwebapp.config.json b/src/Umbraco.Web.UI.Client/staticwebapp.config.json
index d08bfb5cc1..4ff06b6140 100644
--- a/src/Umbraco.Web.UI.Client/staticwebapp.config.json
+++ b/src/Umbraco.Web.UI.Client/staticwebapp.config.json
@@ -1,10 +1,7 @@
{
- "navigationFallback": {
- "rewrite": "/index.html",
- "exclude": [
- "*.{jpg,jpeg,gif,png,svg}",
- "/assets/*"
- ]
- },
- "trailingSlash": "never"
-}
\ No newline at end of file
+ "navigationFallback": {
+ "rewrite": "/index.html",
+ "exclude": ["*.{jpg,jpeg,gif,png,svg,css}", "/assets/*"]
+ },
+ "trailingSlash": "never"
+}