手工訂製 - daniel-qa/Vue GitHub Wiki

手工訂製



div 多層的 style 寬度設定

 <div :style="{
         minWidth: node.level === 2 ? '300px' : '200px',
         maxWidth: node.level === 2 ? '500px' : '300px',
         minHeight: node.level === 2 ? '150px' : 'auto', // 第二层设置最小高度
         maxHeight: node.level === 2 ? '300px' : 'auto', // 第二层设置最大高度
         overflow: node.level === 2 ? 'auto' : 'visible', // 第二层内容超出时滚动
       }">


CSS Flexbox

  • margin-left: auto

    在 Flex 容器中,margin-left: auto; 常用于将元素推到容器的右边,起到弹性分布的作用。

  • justify-content:

    space-between 是 CSS Flexbox 的屬性,用於定義子元素在父容器內的水平方向排列方式元件會平均分配所佔用的空間

    第一個子元素靠左對齊,最後一個子元素靠右對齊。其餘子元素平均分布,且子元素之間的間距相等。


  • Container 常用的設定
.container {
    display: flex;
    justify-content: center; /* 水平居中 */
    align-items: center; /* 垂直居中 */
}
  • flex 的常用設定
.msgbox {
    width: 100%;          /* 容器宽度为父容器的 100% */
    padding: 1%;          /* 内部有 1% 的填充,给内容留出边距 */
    display: flex;        /* 使用 Flexbox 布局 */
    flex-direction: column; /* 子元素按列方向(纵向)排列 */
    flex: 0 0 auto;       /* 子元素不伸缩,保持其内容的原始尺寸 */
    line-height: 20px;    /* 文本行高设置为 20px */
}

flex-direction: column;

改變排列方向:上到下

解释:该属性设置 Flexbox 的子项排列方向为 纵向(列方向),即从上到下。 常见用途:默认情况下,Flexbox 会将子元素按水平方向排列(row)。但是设置为 column 后,子元素会从上到下垂直排列。这个设置在构建竖向布局时非常常用。

flex: 0 0 auto;

解释:这是 flex 属性的简写,它实际上由三个值组成:flex-grow、flex-shrink 和 flex-basis

flex-grow: 0:指定子元素在父容器中如果有剩余空间时,不扩展其大小。即子元素不会根据容器的大小自动放大。

flex-shrink: 0:指定子元素如果容器空间不足时,不缩小。也就是说,子元素的尺寸会保持不变。

flex-basis: auto:该属性指定子元素的初始大小。auto 表示子元素的大小将基于其内容的大小,或者基于任何指定的 width 或 height。

常见用途:flex: 0 0 auto; 通常用于使子元素根据其内容自然占据空间,并且不会因父容器的大小变化而伸缩。

line-height: 20px;

解释:该属性控制元素内行间距的大小,即文本行与行之间的垂直间距。此设置将行高设置为 20 像素。 常见用途:适用于文本容器,尤其是在文本内容较多时,通过调整行高来增加或减少行间的空隙,从而使文本的阅读体验更好。