C# Blazor 学习笔记(8):row/col布局开发

文章目录

前言

可能是我用的element ui和 uView这种第三方组件用的太多了。我上来就希望能使用这些组件。但是目前Blazor目前的生态其实并不完善,所以很多组件要我们自己写。

我们对组件的要求是

我们在组件化一共有三个目的。

  • 不用写CSS
  • 不用写html
  • 不用写交互逻辑

相关文章

C# Blazor 学习笔记(7):组件嵌套开发

代码

我们直接上结果

row和col组件

为了防止和别的UI库冲突,我使用了B_为前缀

B_row

razor

java 复制代码
<div class="B_Row">
    @ChildContent
</div>

@code {
    [Parameter] 
    public RenderFragment ChildContent { get; set; }
}

razor.css

css 复制代码
.B_Row {
    /*border: 1px solid black;*/
    display: grid;
    /*flex-direction: row;*/
    width: 100%;
    grid-template-columns: repeat(12,1fr);
    grid-auto-flow: column;
}

B_col

razor

java 复制代码
@if (Offset != 0)
{
    <div style=" grid-column-start: span @(Offset)">
    </div>
}

<div class="B_Col" style=" grid-column-start: span @(Span)">
    @ChildContent
</div>

@code {
    [Parameter]
    public RenderFragment ChildContent { get; set; }

    [Parameter]
    public float Span { get; set; } = 12;

    [Parameter]
    public float Offset { get; set; } = 0;

    private Dictionary<string, object> ContentCss = new Dictionary<string, object>
    {

    };

}

razor.css

css 复制代码
body {
}

.B_Col{
    border: 1px solid black;
    /*width:20%;*/
    /*display:inline-grid;*/
    /*grid-column-start:span 2;*/
}

tips:我这里用border是为了明显地展示

结构

使用

html 复制代码
<B_row>
    <B_col >1</B_col>
</B_row>
<B_row>
    <B_col  Span = "6">1</B_col>
</B_row>
<B_row>
    <B_col  Span = "6" Offset = "3">1</B_col>
</B_row>
<B_row>
    <B_col Span = "3">1</B_col>
    <B_col Span = "3">2</B_col>
    <B_col Span = "3">3</B_col>
    <B_col Span = "3">4</B_col>
</B_row>
相关推荐
nianniannnn35 分钟前
Eigen 矩阵操作笔记
c++·笔记·线性代数·矩阵
红石榴花生油1 小时前
RBAC权限配置 核心笔记
数据库·windows·笔记
一只乔哇噻1 小时前
java后端工程师+AI大模型进修ing(研一版‖day56)
java·开发语言·学习·算法·语言模型
小奶包他干奶奶1 小时前
Webpack学习——Plugin(插件)
前端·学习·webpack
玩具猴_wjh1 小时前
11.29 学习笔记
笔记·学习
白日做梦Q1 小时前
深度学习调参手册:学习率、Batch Size 的最优搭配策略
深度学习·学习·batch
zore_c1 小时前
【C语言】数据在内存中的存储(超详解)
c语言·开发语言·数据结构·经验分享·笔记
摇滚侠1 小时前
零基础小白自学Git_Github教程,Git 四个分区的概念,笔记11
笔记·git·github
不败公爵1 小时前
Git的工作机制
笔记·git·stm32
Philtell1 小时前
【动手学深度学习】笔记
人工智能·笔记·深度学习