大多数工具类的源码都在source/scss/utility/_index.scss中,所以本页部分演示中没有关于css的代码。

盒模型
预览效果
ul-padding-xs ul-margin-xs
ul-padding-sm ul-margin-sm
ul-padding-md ul-margin-md
ul-padding-lg ul-margin-lg
ul-padding-xl ul-margin-xl

ul-section

ul-inline-block

ul-margin-container
  • HTML
  • SCSS
  • CSS
  • UniApp
<div class="ul-title-section" style="margin-bottom: 0;">ul-padding-xs ul-margin-xs</div>
<div class="ul-padding-xs ul-margin-xs ul-bg-gray"></div>
<div class="ul-title-section" style="margin-bottom: 0;">ul-padding-sm ul-margin-sm</div>
<div class="ul-padding-sm ul-margin-sm ul-bg-gray"></div>
<div class="ul-title-section" style="margin-bottom: 0;">ul-padding-md ul-margin-md</div>
<div class="ul-padding-md ul-margin-md ul-bg-gray"></div>
<div class="ul-title-section" style="margin-bottom: 0;">ul-padding-lg ul-margin-lg</div>
<div class="ul-padding-lg ul-margin-lg ul-bg-gray"></div>
<div class="ul-title-section" style="margin-bottom: 0;">ul-padding-xl ul-margin-xl</div>
<div class="ul-padding-xl ul-margin-xl ul-bg-gray"></div>
<hr>
<div class="ul-title-section" style="margin-bottom: 0;">ul-section</div>
<div class="ul-section ul-bg-gray ul-padding-xl" data-repeat="3"></div>
<hr>
<div class="ul-title-section" style="margin-bottom: 0;">ul-inline-block</div>
<div class="ul-inline-block ul-margin-xs ul-bg-gray ul-padding-xl" data-repeat="20"></div>
<hr>
<div class="ul-title-section" style="margin-bottom: 0;">ul-margin-container</div>
<div class="ul-margin-container-xs">
    <div class="ul-inline-block ul-margin-xs ul-bg-gray ul-padding-xl" data-repeat="20"></div>
</div>
<view class="ul-title-section" style="margin-bottom: 0;">ul-padding-xs ul-margin-xs</view>
<view class="ul-padding-xs ul-margin-xs ul-bg-gray"></view>
<view class="ul-title-section" style="margin-bottom: 0;">ul-padding-sm ul-margin-sm</view>
<view class="ul-padding-sm ul-margin-sm ul-bg-gray"></view>
<view class="ul-title-section" style="margin-bottom: 0;">ul-padding-md ul-margin-md</view>
<view class="ul-padding-md ul-margin-md ul-bg-gray"></view>
<view class="ul-title-section" style="margin-bottom: 0;">ul-padding-lg ul-margin-lg</view>
<view class="ul-padding-lg ul-margin-lg ul-bg-gray"></view>
<view class="ul-title-section" style="margin-bottom: 0;">ul-padding-xl ul-margin-xl</view>
<view class="ul-padding-xl ul-margin-xl ul-bg-gray"></view>
<hr>
<view class="ul-title-section" style="margin-bottom: 0;">ul-section</view>
<view class="ul-section ul-bg-gray ul-padding-xl" data-repeat="3"></view>
<hr>
<view class="ul-title-section" style="margin-bottom: 0;">ul-inline-block</view>
<view class="ul-inline-block ul-margin-xs ul-bg-gray ul-padding-xl" data-repeat="20"></view>
<hr>
<view class="ul-title-section" style="margin-bottom: 0;">ul-margin-container</view>
<view class="ul-margin-container-xs">
    <view class="ul-inline-block ul-margin-xs ul-bg-gray ul-padding-xl" data-repeat="20"></view>
</view>

ul-padding-{size}

内置的通用类,使用统一的类,方便以后统一调整页面表现。

ul-padding-xs
ul-padding-sm
ul-padding-md
ul-padding-lg
ul-padding-xl

ul-margin-{size}

内置的通用类,使用统一的类,方便以后统一调整页面表现。

ul-margin-xs
ul-margin-sm
ul-margin-md
ul-margin-lg
ul-margin-xl

ul-section

使用统一的类名,可以用于设置楼层。

ul-inline-block

让div变为inline-box,比较常用。

ul-margin-container-{size}

如果直接对子元素使用margin,那么四周的内部元素相对于父元素也会有间隙,如果把这些子元素放到ul-margin-container中,可以让四周的元素和父元素对齐。

这是一种基本的常见的法。

ul-margin-container-xs
ul-margin-container-sm
ul-margin-container-md
ul-margin-container-lg
ul-margin-container-xl
示例颜色
预览效果
背景色
自动文字颜色
ul-bg-primary
自动文字颜色
ul-bg-success
自动文字颜色
ul-bg-danger
自动文字颜色
ul-bg-warning
自动文字颜色
ul-bg-info
自动文字颜色
ul-bg-dark
自动文字颜色
ul-bg-light
自动文字颜色
ul-bg-white
自动文字颜色
ul-bg-gray
字体色
文字颜色
ul-text-primary
文字颜色
ul-text-success
文字颜色
ul-text-danger
文字颜色
ul-text-warning
文字颜色
ul-text-info
文字颜色
ul-text-dark
文字颜色
ul-text-light
文字颜色
ul-text-white
文字颜色
ul-text-gray
  • HTML
  • SCSS
  • CSS
  • UniApp
<div class="ul-title-section">背景色</div>
<div class="ul-bg-primary" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-primary</div>
</div>
<div class="ul-bg-success" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-success</div>
</div>
<div class="ul-bg-danger" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-danger</div>
</div>
<div class="ul-bg-warning" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-warning</div>
</div>
<div class="ul-bg-info" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-info</div>
</div>
<div class="ul-bg-dark" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-dark</div>
</div>
<div class="ul-bg-light" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-light</div>
</div>
<div class="ul-bg-white" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-white</div>
</div>
<div class="ul-bg-gray" style="display: inline-block;padding: 10px 18px;">
    <div>自动文字颜色</div>
    <div>ul-bg-gray</div>
</div>
<div class="ul-title-section">字体色</div>
<div class="ul-text-primary" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-primary</div>
</div>
<div class="ul-text-success" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-success</div>
</div>
<div class="ul-text-danger" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-danger</div>
</div>
<div class="ul-text-warning" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-warning</div>
</div>
<div class="ul-text-info" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-info</div>
</div>
<div class="ul-text-dark" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-dark</div>
</div>
<div class="ul-text-light" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-light</div>
</div>
<div class="ul-text-white" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-white</div>
</div>
<div class="ul-text-gray" style="display: inline-block;padding: 10px 18px;">
    <div>文字颜色</div>
    <div>ul-text-gray</div>
</div>
<view class="ul-title-section">背景色</view>
<view class="ul-bg-primary" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-primary</view>
</view>
<view class="ul-bg-success" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-success</view>
</view>
<view class="ul-bg-danger" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-danger</view>
</view>
<view class="ul-bg-warning" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-warning</view>
</view>
<view class="ul-bg-info" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-info</view>
</view>
<view class="ul-bg-dark" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-dark</view>
</view>
<view class="ul-bg-light" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-light</view>
</view>
<view class="ul-bg-white" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-white</view>
</view>
<view class="ul-bg-gray" style="display: inline-block;padding: 10px 18px;">
    <view>自动文字颜色</view>
    <view>ul-bg-gray</view>
</view>
<view class="ul-title-section">字体色</view>
<view class="ul-text-primary" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-primary</view>
</view>
<view class="ul-text-success" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-success</view>
</view>
<view class="ul-text-danger" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-danger</view>
</view>
<view class="ul-text-warning" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-warning</view>
</view>
<view class="ul-text-info" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-info</view>
</view>
<view class="ul-text-dark" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-dark</view>
</view>
<view class="ul-text-light" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-light</view>
</view>
<view class="ul-text-white" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-white</view>
</view>
<view class="ul-text-gray" style="display: inline-block;padding: 10px 18px;">
    <view>文字颜色</view>
    <view>ul-text-gray</view>
</view>

ULUI的提供的颜色设置,使用背景色的类会自动调整字体颜色。

示例图片
预览效果
ul-demo-view
ul-demo-avatar
ul-demo-icon
ul-demo-banner
ul-demo-tech
ul-demo-person
ul-demo-product
  • HTML
  • SCSS
  • CSS
  • UniApp
<div class="ul-title-section">ul-demo-view</div>
<div class="ul-inline-block ul-demo-view n1" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n2" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n3" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n4" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n5" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n6" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n7" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n8" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-view n9" style="width: 120px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-avatar</div>
<div class="ul-inline-block ul-demo-avatar n1" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n2" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n3" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n4" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n5" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n6" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n7" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n8" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-avatar n9" style="width: 80px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-icon</div>
<div class="ul-inline-block ul-demo-icon n1" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n2" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n3" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n4" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n5" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n6" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n7" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n8" style="width: 80px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-icon n9" style="width: 80px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-banner</div>
<div class="ul-inline-block ul-demo-banner n1" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n2" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n3" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n4" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n5" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n6" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n7" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n8" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-banner n9" style="width: 120px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-tech</div>
<div class="ul-inline-block ul-demo-tech n1" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n2" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n3" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n4" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n5" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n6" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n7" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n8" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-tech n9" style="width: 120px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-person</div>
<div class="ul-inline-block ul-demo-person n1" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n2" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n3" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n4" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n5" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n6" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n7" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n8" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-person n9" style="width: 120px;height: 80px;"></div>
<div class="ul-title-section">ul-demo-product</div>
<div class="ul-inline-block ul-demo-product n1" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n2" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n3" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n4" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n5" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n6" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n7" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n8" style="width: 120px;height: 80px;"></div>
<div class="ul-inline-block ul-demo-product n9" style="width: 120px;height: 80px;"></div>
$demo-img-types: view, avatar, icon, banner, tech, person, product;
$demo-img-count: 10;

@each $type in $demo-img-types {
  .ul-demo-#{$type} {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('img/#{$type}-n1.png') !important;

    // 生成数字修饰符类,用于加载具体图片
    @for $i from 1 through $demo-img-count {
      &.n#{$i} {
        background-image: url('img/#{$type}-n#{$i}.png') !important;
      }
    }
  }
}
.ul-demo-view {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/view-n1.png") !important;
}
.ul-demo-view.n1 {
  background-image: url("img/view-n1.png") !important;
}
.ul-demo-view.n2 {
  background-image: url("img/view-n2.png") !important;
}
.ul-demo-view.n3 {
  background-image: url("img/view-n3.png") !important;
}
.ul-demo-view.n4 {
  background-image: url("img/view-n4.png") !important;
}
.ul-demo-view.n5 {
  background-image: url("img/view-n5.png") !important;
}
.ul-demo-view.n6 {
  background-image: url("img/view-n6.png") !important;
}
.ul-demo-view.n7 {
  background-image: url("img/view-n7.png") !important;
}
.ul-demo-view.n8 {
  background-image: url("img/view-n8.png") !important;
}
.ul-demo-view.n9 {
  background-image: url("img/view-n9.png") !important;
}
.ul-demo-view.n10 {
  background-image: url("img/view-n10.png") !important;
}
.ul-demo-avatar {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/avatar-n1.png") !important;
}
.ul-demo-avatar.n1 {
  background-image: url("img/avatar-n1.png") !important;
}
.ul-demo-avatar.n2 {
  background-image: url("img/avatar-n2.png") !important;
}
.ul-demo-avatar.n3 {
  background-image: url("img/avatar-n3.png") !important;
}
.ul-demo-avatar.n4 {
  background-image: url("img/avatar-n4.png") !important;
}
.ul-demo-avatar.n5 {
  background-image: url("img/avatar-n5.png") !important;
}
.ul-demo-avatar.n6 {
  background-image: url("img/avatar-n6.png") !important;
}
.ul-demo-avatar.n7 {
  background-image: url("img/avatar-n7.png") !important;
}
.ul-demo-avatar.n8 {
  background-image: url("img/avatar-n8.png") !important;
}
.ul-demo-avatar.n9 {
  background-image: url("img/avatar-n9.png") !important;
}
.ul-demo-avatar.n10 {
  background-image: url("img/avatar-n10.png") !important;
}
.ul-demo-icon {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/icon-n1.png") !important;
}
.ul-demo-icon.n1 {
  background-image: url("img/icon-n1.png") !important;
}
.ul-demo-icon.n2 {
  background-image: url("img/icon-n2.png") !important;
}
.ul-demo-icon.n3 {
  background-image: url("img/icon-n3.png") !important;
}
.ul-demo-icon.n4 {
  background-image: url("img/icon-n4.png") !important;
}
.ul-demo-icon.n5 {
  background-image: url("img/icon-n5.png") !important;
}
.ul-demo-icon.n6 {
  background-image: url("img/icon-n6.png") !important;
}
.ul-demo-icon.n7 {
  background-image: url("img/icon-n7.png") !important;
}
.ul-demo-icon.n8 {
  background-image: url("img/icon-n8.png") !important;
}
.ul-demo-icon.n9 {
  background-image: url("img/icon-n9.png") !important;
}
.ul-demo-icon.n10 {
  background-image: url("img/icon-n10.png") !important;
}
.ul-demo-banner {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/banner-n1.png") !important;
}
.ul-demo-banner.n1 {
  background-image: url("img/banner-n1.png") !important;
}
.ul-demo-banner.n2 {
  background-image: url("img/banner-n2.png") !important;
}
.ul-demo-banner.n3 {
  background-image: url("img/banner-n3.png") !important;
}
.ul-demo-banner.n4 {
  background-image: url("img/banner-n4.png") !important;
}
.ul-demo-banner.n5 {
  background-image: url("img/banner-n5.png") !important;
}
.ul-demo-banner.n6 {
  background-image: url("img/banner-n6.png") !important;
}
.ul-demo-banner.n7 {
  background-image: url("img/banner-n7.png") !important;
}
.ul-demo-banner.n8 {
  background-image: url("img/banner-n8.png") !important;
}
.ul-demo-banner.n9 {
  background-image: url("img/banner-n9.png") !important;
}
.ul-demo-banner.n10 {
  background-image: url("img/banner-n10.png") !important;
}
.ul-demo-tech {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/tech-n1.png") !important;
}
.ul-demo-tech.n1 {
  background-image: url("img/tech-n1.png") !important;
}
.ul-demo-tech.n2 {
  background-image: url("img/tech-n2.png") !important;
}
.ul-demo-tech.n3 {
  background-image: url("img/tech-n3.png") !important;
}
.ul-demo-tech.n4 {
  background-image: url("img/tech-n4.png") !important;
}
.ul-demo-tech.n5 {
  background-image: url("img/tech-n5.png") !important;
}
.ul-demo-tech.n6 {
  background-image: url("img/tech-n6.png") !important;
}
.ul-demo-tech.n7 {
  background-image: url("img/tech-n7.png") !important;
}
.ul-demo-tech.n8 {
  background-image: url("img/tech-n8.png") !important;
}
.ul-demo-tech.n9 {
  background-image: url("img/tech-n9.png") !important;
}
.ul-demo-tech.n10 {
  background-image: url("img/tech-n10.png") !important;
}
.ul-demo-person {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/person-n1.png") !important;
}
.ul-demo-person.n1 {
  background-image: url("img/person-n1.png") !important;
}
.ul-demo-person.n2 {
  background-image: url("img/person-n2.png") !important;
}
.ul-demo-person.n3 {
  background-image: url("img/person-n3.png") !important;
}
.ul-demo-person.n4 {
  background-image: url("img/person-n4.png") !important;
}
.ul-demo-person.n5 {
  background-image: url("img/person-n5.png") !important;
}
.ul-demo-person.n6 {
  background-image: url("img/person-n6.png") !important;
}
.ul-demo-person.n7 {
  background-image: url("img/person-n7.png") !important;
}
.ul-demo-person.n8 {
  background-image: url("img/person-n8.png") !important;
}
.ul-demo-person.n9 {
  background-image: url("img/person-n9.png") !important;
}
.ul-demo-person.n10 {
  background-image: url("img/person-n10.png") !important;
}
.ul-demo-product {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("img/product-n1.png") !important;
}
.ul-demo-product.n1 {
  background-image: url("img/product-n1.png") !important;
}
.ul-demo-product.n2 {
  background-image: url("img/product-n2.png") !important;
}
.ul-demo-product.n3 {
  background-image: url("img/product-n3.png") !important;
}
.ul-demo-product.n4 {
  background-image: url("img/product-n4.png") !important;
}
.ul-demo-product.n5 {
  background-image: url("img/product-n5.png") !important;
}
.ul-demo-product.n6 {
  background-image: url("img/product-n6.png") !important;
}
.ul-demo-product.n7 {
  background-image: url("img/product-n7.png") !important;
}
.ul-demo-product.n8 {
  background-image: url("img/product-n8.png") !important;
}
.ul-demo-product.n9 {
  background-image: url("img/product-n9.png") !important;
}
.ul-demo-product.n10 {
  background-image: url("img/product-n10.png") !important;
}
<view class="ul-title-section">ul-demo-view</view>
<view class="ul-inline-block ul-demo-view n1" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n2" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n3" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n4" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n5" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n6" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n7" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n8" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-view n9" style="width: 120px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-avatar</view>
<view class="ul-inline-block ul-demo-avatar n1" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n2" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n3" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n4" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n5" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n6" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n7" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n8" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-avatar n9" style="width: 80px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-icon</view>
<view class="ul-inline-block ul-demo-icon n1" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n2" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n3" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n4" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n5" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n6" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n7" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n8" style="width: 80px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-icon n9" style="width: 80px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-banner</view>
<view class="ul-inline-block ul-demo-banner n1" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n2" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n3" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n4" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n5" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n6" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n7" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n8" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-banner n9" style="width: 120px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-tech</view>
<view class="ul-inline-block ul-demo-tech n1" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n2" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n3" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n4" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n5" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n6" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n7" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n8" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-tech n9" style="width: 120px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-person</view>
<view class="ul-inline-block ul-demo-person n1" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n2" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n3" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n4" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n5" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n6" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n7" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n8" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-person n9" style="width: 120px;height: 80px;"></view>
<view class="ul-title-section">ul-demo-product</view>
<view class="ul-inline-block ul-demo-product n1" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n2" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n3" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n4" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n5" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n6" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n7" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n8" style="width: 120px;height: 80px;"></view>
<view class="ul-inline-block ul-demo-product n9" style="width: 120px;height: 80px;"></view>

好看的图片让系统更有档次。

ULUI提供了各种类型的示例图片,所有图片资源来源 https://pixabay.com ,都是免版税资源,无需授权。具体政策参考:https://pixabay.com/zh/service/license-summary/

使用方法非常简单,只需要增加对应类型的类名即可,比如:class="ul-demo-view",会显示风景图片。

ULUI还提供了n1-n9的编号,用于展示不同的图片。可以使用ULUI提供的内置方法自动追加编号。

<script src="//ului.top/cdn/js/jquery-3.7.1.min.js"></script>
<script src="//ului.top/cdn/js/modules/ul-demo.js"></script>
<script>
    $(function () {
        $('.ul-tab').ulDemo();
    });
</script>

ul-demo.js的代码如下:


(function($) {
    'use strict';

    $.fn.ulDemo = function() {
        if (typeof window.DEMO_INDEX === 'undefined') {
            window.DEMO_INDEX = 0;
        }

        return this.each(function() {
            var $container = $(this);
            // 查找容器自身或其后代中包含'ul-demo'类名的元素
            var $elements = $container.find('[class*="ul-demo"]').addBack('[class*="ul-demo"]');

            $elements.each(function() {
                var $el = $(this);
                // 检查是否已经有 n* 类的编号,避免重复添加
                if (!/n\d+/.test($el.attr('class'))) {
                    $el.addClass('n' + ((window.DEMO_INDEX % 9) + 1));
                    window.DEMO_INDEX++;
                }
            });
        });
    };

})(jQuery);
栅格
预览效果

基础栅格

使用 .ul-col-* 创建基础的等比栅格布局(总共 12 列)。

ul-col-12
ul-col-6
ul-col-6
ul-col-4
ul-col-4
ul-col-4
ul-col-3
ul-col-3
ul-col-3
ul-col-3

响应式栅格

使用 .ul-col-{breakpoint}-* 在不同屏幕尺寸下应用不同的栅格布局。

响应式列
响应式列
响应式列

列偏移

使用 .ul-col-offset-{breakpoint}-* 将列向右偏移。

ul-col-4
ul-col-4 ul-col-offset-md-4
ul-col-3 ul-col-offset-md-3
ul-col-3 ul-col-offset-md-3

列间距

.ul-row 上添加 .ul-col-space-* 来控制列之间的间距。

ul-col-4
ul-col-4
ul-col-4

Flex 布局

使用 .ul-justify-* 控制主轴对齐方式。

ul-col-3
ul-col-3
ul-col-3
  • HTML
  • SCSS
  • CSS
  • UniApp
<h3>基础栅格</h3>
<p>使用 <code>.ul-col-*</code> 创建基础的等比栅格布局(总共 12 列)。</p>
<div class="ul-row">
    <div class="ul-col-12 demo-col">
        <div class="demo-col-main">ul-col-12</div>
    </div>
</div>
<div class="ul-row">
    <div class="ul-col-6 demo-col">
        <div class="demo-col-main">ul-col-6</div>
    </div>
    <div class="ul-col-6 demo-col">
        <div class="demo-col-main">ul-col-6</div>
    </div>
</div>
<div class="ul-row">
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
</div>
<div class="ul-row">
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
</div>
<h3>响应式栅格</h3>
<p>使用 <code>.ul-col-{breakpoint}-*</code> 在不同屏幕尺寸下应用不同的栅格布局。</p>
<div class="ul-row">
    <div class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-3 demo-col">
        <div class="demo-col-main">响应式列</div>
    </div>
    <div class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-3 demo-col">
        <div class="demo-col-main">响应式列</div>
    </div>
    <div class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-6 demo-col">
        <div class="demo-col-main">响应式列</div>
    </div>
</div>
<h3>列偏移</h3>
<p>使用 <code>.ul-col-offset-{breakpoint}-*</code> 将列向右偏移。</p>
<div class="ul-row">
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
    <div class="ul-col-4 ul-col-offset-md-4 demo-col">
        <div class="demo-col-main">ul-col-4 ul-col-offset-md-4</div>
    </div>
</div>
<div class="ul-row">
    <div class="ul-col-3 ul-col-offset-md-3 demo-col">
        <div class="demo-col-main">ul-col-3 ul-col-offset-md-3</div>
    </div>
    <div class="ul-col-3 ul-col-offset-md-3 demo-col">
        <div class="demo-col-main">ul-col-3 ul-col-offset-md-3</div>
    </div>
</div>
<h3>列间距</h3>
<p>在 <code>.ul-row</code> 上添加 <code>.ul-col-space-*</code> 来控制列之间的间距。</p>
<div class="ul-row ul-col-space-16">
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
    <div class="ul-col-4 demo-col">
        <div class="demo-col-main">ul-col-4</div>
    </div>
</div>
<h3>Flex 布局</h3>
<p>使用 <code>.ul-justify-*</code> 控制主轴对齐方式。</p>
<div class="ul-row ul-justify-center">
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
    <div class="ul-col-3 demo-col">
        <div class="demo-col-main">ul-col-3</div>
    </div>
</div>
.ul-layout {

}
<h3>基础栅格</h3>
<p>使用 <code>.ul-col-*</code> 创建基础的等比栅格布局(总共 12 列)。</p>
<view class="ul-row">
    <view class="ul-col-12 demo-col">
        <view class="demo-col-main">ul-col-12</view>
    </view>
</view>
<view class="ul-row">
    <view class="ul-col-6 demo-col">
        <view class="demo-col-main">ul-col-6</view>
    </view>
    <view class="ul-col-6 demo-col">
        <view class="demo-col-main">ul-col-6</view>
    </view>
</view>
<view class="ul-row">
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
</view>
<view class="ul-row">
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
</view>
<h3>响应式栅格</h3>
<p>使用 <code>.ul-col-{breakpoint}-*</code> 在不同屏幕尺寸下应用不同的栅格布局。</p>
<view class="ul-row">
    <view class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-3 demo-col">
        <view class="demo-col-main">响应式列</view>
    </view>
    <view class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-3 demo-col">
        <view class="demo-col-main">响应式列</view>
    </view>
    <view class="ul-col-xs-12 ul-col-sm-6 ul-col-md-4 ul-col-lg-6 demo-col">
        <view class="demo-col-main">响应式列</view>
    </view>
</view>
<h3>列偏移</h3>
<p>使用 <code>.ul-col-offset-{breakpoint}-*</code> 将列向右偏移。</p>
<view class="ul-row">
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
    <view class="ul-col-4 ul-col-offset-md-4 demo-col">
        <view class="demo-col-main">ul-col-4 ul-col-offset-md-4</view>
    </view>
</view>
<view class="ul-row">
    <view class="ul-col-3 ul-col-offset-md-3 demo-col">
        <view class="demo-col-main">ul-col-3 ul-col-offset-md-3</view>
    </view>
    <view class="ul-col-3 ul-col-offset-md-3 demo-col">
        <view class="demo-col-main">ul-col-3 ul-col-offset-md-3</view>
    </view>
</view>
<h3>列间距</h3>
<p>在 <code>.ul-row</code> 上添加 <code>.ul-col-space-*</code> 来控制列之间的间距。</p>
<view class="ul-row ul-col-space-16">
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
    <view class="ul-col-4 demo-col">
        <view class="demo-col-main">ul-col-4</view>
    </view>
</view>
<h3>Flex 布局</h3>
<p>使用 <code>.ul-justify-*</code> 控制主轴对齐方式。</p>
<view class="ul-row ul-justify-center">
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
    <view class="ul-col-3 demo-col">
        <view class="demo-col-main">ul-col-3</view>
    </view>
</view>

本栅格系统是基于 Flexbox 的响应式 12 列布局系统,旨在快速、轻松地创建各种页面布局。

1. 基础栅格

通过 .ul-row.ul-col-* 组合来创建基础的栅格布局。列(.ul-col-*)必须是行(.ul-row)的直接子元素。

  • .ul-row: 行容器。
  • .ul-col-*: 定义列宽,* 的取值范围为 1 到 12。

示例:

<!-- 三个等宽的列 -->
<div class="ul-row">
    <div class="ul-col-4">...</div>
    <div class="ul-col-4">...</div>
    <div class="ul-col-4">...</div>
</div>

2. 响应式栅格

系统预设了多个响应式断点(如 xs, sm, md, lg),允许您为不同屏幕尺寸指定不同的列宽。

  • .ul-col-{breakpoint}-*: 在特定断点及以上宽度生效。

示例:

<!-- 在小屏幕(sm)上每行2个,中等屏幕(md)上每行3个 -->
<div class="ul-row">
    <div class="ul-col-sm-6 ul-col-md-4">响应式列</div>
    <div class="ul-col-sm-6 ul-col-md-4">响应式列</div>
    <div class="ul-col-sm-6 ul-col-md-4">响应式列</div>
</div>

3. 列偏移

使用 .ul-col-offset-* 或响应式的 .ul-col-offset-{breakpoint}-* 可以将列向右偏移指定的列数。

示例:

<div class="ul-row">
    <div class="ul-col-4">...</div>
    <!-- 在中等屏幕(md)及以上向右偏移4列 -->
    <div class="ul-col-4 ul-col-offset-md-4">...</div>
</div>

4. 列间距

在行容器 .ul-row 上添加 .ul-col-space-* 类来为该行下的所有列创建水平间距。

示例:

<!-- 列之间有 16px 的间距 -->
<div class="ul-row ul-col-space-16">
    <div class="ul-col-4">...</div>
    <div class="ul-col-4">...</div>
    <div class="ul-col-4">...</div>
</div>

5. Flex 布局与对齐

由于栅格基于 Flexbox,您可以在 .ul-row 上使用 Flex 对齐类来控制列的排列方式。

  • .ul-justify-start: 从开始处对齐(默认)
  • .ul-justify-center: 居中对齐
  • .ul-justify-end: 从结尾处对齐
  • .ul-justify-space-between: 两端对齐,项目之间的间隔都相等
  • .ul-justify-space-around: 每个项目两侧的间隔相等

示例:

<!-- 列在行内水平居中 -->
<div class="ul-row ul-justify-center">
    <div class="ul-col-3">...</div>
    <div class="ul-col-3">...</div>
</div>
其他说明
预览效果
  • HTML
  • SCSS
  • CSS
  • UniApp
.ul-others {

}

阴影

用于为元素添加不同层级的阴影效果。

  • .ul-shadow-sm - 小阴影
  • .ul-shadow - 基础阴影
  • .ul-shadow-lg - 大阴影
  • .ul-shadow-xl - 超大阴影

示例: <div class="ul-card ul-shadow-lg">...</div>


Flex 布局

提供了一套完整的 Flexbox 工具类,用于快速构建弹性布局。

  • 容器:

    • .ul-flex - 定义一个块级 Flex 容器。
    • .ul-inline-flex - 定义一个内联 Flex 容器。
  • 主轴方向:

    • .ul-flex-row / .ul-flex-row-reverse
    • .ul-flex-col / .ul-flex-col-reverse
  • 主轴对齐:

    • .ul-justify-start / .ul-justify-end / .ul-justify-center
    • .ul-justify-between / .ul-justify-around / .ul-justify-evenly
  • 交叉轴对齐:

    • .ul-items-start / .ul-items-end / .ul-items-center
    • .ul-items-baseline / .ul-items-stretch
  • 换行:

    • .ul-flex-wrap / .ul-flex-wrap-reverse / .ul-flex-nowrap

示例: <div class="ul-flex ul-justify-center ul-items-center">...</div>


文本排版

  • 标题:

    • .ul-title - 用于定义一个标准的章节标题样式。
  • 文本对齐:

    • .ul-text-left - 文本左对齐。
    • .ul-text-center - 文本居中对齐。
    • .ul-text-right - 文本右对齐。

其他工具

  • .ul-link - 统一样式,包含 :hover, :visited 等状态。
  • .ul-fixed-right-center - 将元素固定在屏幕右侧垂直居中的位置。
  • .ul-inline-block - 设置元素为 display: inline-block