<div class="ul-section">
<div class="ul-nav-header">
<div class="ul-nav-header__main">
<div class="ul-nav-header__logo ul-demo-icon"></div>
<div class="ul-nav-header__nav">
<div class="ul-nav-header__item">首页</div>
<div class="ul-nav-header__item">活动中心</div>
<div class="ul-nav-header__item">咨询</div>
<div class="ul-nav-header__item">帮助指南</div>
</div>
</div>
</div>
</div>
<div class="ul-section">
<div class="ul-nav-header danger">
<div class="ul-nav-header__main">
<div class="ul-nav-header__logo ul-demo-icon"></div>
<div class="ul-nav-header__nav">
<div class="ul-nav-header__item">首页</div>
<div class="ul-nav-header__item">活动中心</div>
<div class="ul-nav-header__item">咨询</div>
<div class="ul-nav-header__item">帮助指南</div>
</div>
</div>
</div>
</div>
<div class="ul-section">
<div class="ul-nav-header primary">
<div class="ul-nav-header__main">
<div class="ul-nav-header__logo ul-demo-icon"></div>
<div class="ul-nav-header__nav">
<div class="ul-nav-header__item">首页</div>
<div class="ul-nav-header__item">活动中心</div>
<div class="ul-nav-header__item">咨询</div>
<div class="ul-nav-header__item">帮助指南</div>
</div>
</div>
</div>
</div>
<!-- 所有主题色变体示例 -->
<div class="ul-section">
<div class="ul-nav-header success">
<div class="ul-nav-header__main">
<div class="ul-nav-header__logo ul-demo-icon"></div>
<div class="ul-nav-header__nav">
<div class="ul-nav-header__item">首页</div>
<div class="ul-nav-header__item">活动中心</div>
<div class="ul-nav-header__item">咨询</div>
<div class="ul-nav-header__item">帮助指南</div>
</div>
</div>
</div>
</div>
// ul-nav-header 组件样式
// ==========================================================================
.ul-nav-header {
background-color: $color-white;
box-shadow: $shadow-sm;
&__main {
@include flex(space-between, center);
max-width: map-get($container-max-widths, xl);
margin: 0 auto;
padding: $space-md $space-lg;
}
&__logo {
height: 60px;
width: 60px;
flex-shrink: 0;
}
&__nav {
@include flex(flex-end, center);
flex-wrap: wrap;
gap: $space-sm;
}
&__item {
padding: $space-sm $space-md;
color: $color-text;
cursor: pointer;
border-radius: $radius-base;
transition: all 0.3s ease;
font-weight: $font-weight-medium;
&:hover {
color: $color-primary-base;
background-color: $color-primary-light;
}
}
@each $name, $color in $theme-colors {
&.#{$name} {
background-color: $color;
.ul-nav-header__item {
color: $color-white;
&:hover {
color: $color-white;
background-color: rgba($color-white, 0.2);
}
}
}
}
// 响应式设计
@include media-breakpoint-down(md) {
&__main {
padding: $space-sm $space-md;
flex-direction: column;
gap: $space-md;
}
&__nav {
justify-content: center;
width: 100%;
}
&__item {
padding: $space-xs $space-sm;
font-size: $font-size-sm;
}
}
@include media-breakpoint-down(sm) {
&__logo {
height: 40px;
width: 40px;
}
&__nav {
flex-wrap: nowrap;
overflow-x: auto;
justify-content: flex-start;
padding-bottom: $space-xs;
&::-webkit-scrollbar {
display: none;
}
}
&__item {
white-space: nowrap;
flex-shrink: 0;
}
}
}
.ul-nav-header {
background-color: var(--ul-color-white);
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.08);
}
.ul-nav-header__main {
display: flex;
justify-content: space-between;
align-items: center;
flex-direction: row;
max-width: 1140px;
margin: 0 auto;
padding: 16px 24px;
}
.ul-nav-header__logo {
height: 60px;
width: 60px;
flex-shrink: 0;
}
.ul-nav-header__nav {
display: flex;
justify-content: flex-end;
align-items: center;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}
.ul-nav-header__item {
padding: 8px 16px;
color: var(--ul-color-text);
cursor: pointer;
border-radius: 4px;
transition: all 0.3s ease;
font-weight: 500;
}
.ul-nav-header__item:hover {
color: var(--ul-color-primary-base);
background-color: var(--ul-color-primary-light);
}
.ul-nav-header.primary {
background-color: var(--ul-color-primary-base);
}
.ul-nav-header.primary .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.primary .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.success {
background-color: var(--ul-color-success-base);
}
.ul-nav-header.success .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.success .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.danger {
background-color: var(--ul-color-danger-base);
}
.ul-nav-header.danger .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.danger .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.warning {
background-color: var(--ul-color-warning-base);
}
.ul-nav-header.warning .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.warning .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.info {
background-color: var(--ul-color-info-base);
}
.ul-nav-header.info .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.info .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.dark {
background-color: var(--ul-color-dark-base);
}
.ul-nav-header.dark .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.dark .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.light {
background-color: var(--ul-color-light-base);
}
.ul-nav-header.light .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.light .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
.ul-nav-header.gray {
background-color: var(--ul-color-gray-base);
}
.ul-nav-header.gray .ul-nav-header__item {
color: var(--ul-color-white);
}
.ul-nav-header.gray .ul-nav-header__item:hover {
color: var(--ul-color-white);
background-color: rgba(var(--ul-color-white), 0.2);
}
@media (max-width: 767.98px) {
.ul-nav-header__main {
padding: 8px 16px;
flex-direction: column;
gap: 16px;
}
.ul-nav-header__nav {
justify-content: center;
width: 100%;
}
.ul-nav-header__item {
padding: 4px 8px;
font-size: 12px;
}
}
@media (max-width: 575.98px) {
.ul-nav-header__logo {
height: 40px;
width: 40px;
}
.ul-nav-header__nav {
flex-wrap: nowrap;
overflow-x: auto;
justify-content: flex-start;
padding-bottom: 4px;
}
.ul-nav-header__nav::-webkit-scrollbar {
display: none;
}
.ul-nav-header__item {
white-space: nowrap;
flex-shrink: 0;
}
}
<view class="ul-section">
<view class="ul-nav-header">
<view class="ul-nav-header__main">
<view class="ul-nav-header__logo ul-demo-icon"></view>
<view class="ul-nav-header__nav">
<view class="ul-nav-header__item">首页</view>
<view class="ul-nav-header__item">活动中心</view>
<view class="ul-nav-header__item">咨询</view>
<view class="ul-nav-header__item">帮助指南</view>
</view>
</view>
</view>
</view>
<view class="ul-section">
<view class="ul-nav-header danger">
<view class="ul-nav-header__main">
<view class="ul-nav-header__logo ul-demo-icon"></view>
<view class="ul-nav-header__nav">
<view class="ul-nav-header__item">首页</view>
<view class="ul-nav-header__item">活动中心</view>
<view class="ul-nav-header__item">咨询</view>
<view class="ul-nav-header__item">帮助指南</view>
</view>
</view>
</view>
</view>
<view class="ul-section">
<view class="ul-nav-header primary">
<view class="ul-nav-header__main">
<view class="ul-nav-header__logo ul-demo-icon"></view>
<view class="ul-nav-header__nav">
<view class="ul-nav-header__item">首页</view>
<view class="ul-nav-header__item">活动中心</view>
<view class="ul-nav-header__item">咨询</view>
<view class="ul-nav-header__item">帮助指南</view>
</view>
</view>
</view>
</view>
<!-- 所有主题色变体示例 -->
<view class="ul-section">
<view class="ul-nav-header success">
<view class="ul-nav-header__main">
<view class="ul-nav-header__logo ul-demo-icon"></view>
<view class="ul-nav-header__nav">
<view class="ul-nav-header__item">首页</view>
<view class="ul-nav-header__item">活动中心</view>
<view class="ul-nav-header__item">咨询</view>
<view class="ul-nav-header__item">帮助指南</view>
</view>
</view>
</view>
</view>