Skip to content

Commit 36b3a27

Browse files
committed
refactor: 增加 tabs-chrome 样式
1 parent 2fc00ad commit 36b3a27

File tree

2 files changed

+81
-73
lines changed

2 files changed

+81
-73
lines changed

src/BootstrapBlazor/Components/Tab/Tab.razor.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ public partial class Tab : IHandlerException
4343
.AddClass("tabs-card", IsCard)
4444
.AddClass("tabs-border-card", IsBorderCard)
4545
.AddClass($"tabs-{Placement.ToDescriptionString()}", Placement == Placement.Top || Placement == Placement.Right || Placement == Placement.Bottom || Placement == Placement.Left)
46-
.AddClass($"tabs-vertical", Placement == Placement.Left || Placement == Placement.Right)
46+
.AddClass("tabs-vertical", Placement == Placement.Left || Placement == Placement.Right)
47+
.AddClass("tabs-chrome", IsChromeStyle)
4748
.AddClassFromAttributes(AdditionalAttributes)
4849
.Build();
4950

src/BootstrapBlazor/Components/Tab/Tab.razor.scss

Lines changed: 79 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -488,105 +488,112 @@
488488
}
489489
}
490490

491-
.tabs-item-wrap {
491+
.tabs-chrome {
492492
--bb-tabs-header-bg-color: var(--bs-border-color);
493-
--bb-tabs-item-hover-bg-color: #b1cbe6;
493+
--bb-tabs-item-hover-bg-color: rgba(var(--bs-body-color-rgb), 0.1);
494494
--bb-tabs-item-active-bg-color: var(--bs-body-color);
495495
--bb-tabs-item-active-color: var(--bs-body-color);
496496
--bb-tabs-item-hover-color: var(--bs-body-color);
497-
overflow: hidden;
498-
position: relative;
499-
background-color: var(--bb-tabs-header-bg-color);
500-
display: flex;
501-
align-items: flex-end;
502-
padding: 0 1rem;
503-
z-index: 1;
504497

505-
&.active {
506-
z-index: 5;
498+
.tabs-item-wrap {
499+
overflow: hidden;
500+
position: relative;
501+
background-color: var(--bb-tabs-header-bg-color);
502+
display: flex;
503+
align-items: flex-end;
504+
padding: 0 1rem;
505+
z-index: 1;
507506

508-
.tab-corner {
509-
background-color: var(--bs-body-bg);
510-
}
511-
}
507+
&.active {
508+
z-index: 5;
512509

513-
&:not(.active) {
514-
.tabs-item:not(.disabled) .tabs-item-body {
515-
&:hover {
516-
border-radius: 20px;
517-
background-color: var(--bb-tabs-item-hover-bg-color);
510+
.tab-corner {
511+
background-color: var(--bs-body-bg);
518512
}
519513
}
520-
}
521-
522-
&:not(:first-child) {
523-
margin-left: -2rem;
524-
}
525514

526-
.tabs-item {
527-
background-color: var(--bb-tabs-header-bg-color);
528-
border: none !important;
529-
border-top-left-radius: 10px;
530-
border-top-right-radius: 10px;
531-
height: 36px !important;
515+
&:not(.active) {
516+
.tabs-item:not(.disabled) .tabs-item-body {
517+
&:hover {
518+
border-radius: 20px;
519+
background-color: var(--bb-tabs-item-hover-bg-color);
520+
}
521+
}
522+
}
532523

533-
.active {
534-
background-color: var(--bb-tabs-item-active-bg-color);
524+
&:not(:first-child) {
525+
margin-left: -2rem;
535526
}
536527

537-
.tabs-item-body {
538-
padding: 4px 10px;
539-
display: flex;
540-
align-items: center;
541-
flex-wrap: nowrap;
542-
margin-bottom: 4px;
528+
.tabs-item {
529+
background-color: var(--bb-tabs-header-bg-color);
530+
border: none !important;
531+
border-top-left-radius: 10px;
532+
border-top-right-radius: 10px;
533+
height: 36px !important;
543534

544-
.tabs-item-text {
545-
padding: 0 .25rem;
535+
.active {
536+
background-color: var(--bb-tabs-item-active-bg-color);
546537
}
547538

548-
.tabs-item-close {
539+
.tabs-item-body {
540+
padding: 4px 10px;
549541
display: flex;
550-
position: unset;
551-
width: 21px;
552-
height: 21px;
553-
border-radius: 50%;
542+
align-items: center;
543+
flex-wrap: nowrap;
544+
margin-bottom: 4px;
545+
546+
.tabs-item-text {
547+
padding: 0 .25rem;
548+
}
549+
550+
.tabs-item-close {
551+
display: flex;
552+
position: unset;
553+
width: 21px;
554+
height: 21px;
555+
border-radius: 50%;
556+
}
554557
}
555558
}
556-
}
557-
558-
.tab-corner {
559-
height: 2rem;
560-
width: 2rem;
561-
display: inline-flex;
562-
justify-content: center;
563-
align-items: center;
564-
position: absolute;
565559

566-
&::after {
567-
content: '';
560+
.tab-corner {
561+
height: 2rem;
562+
width: 2rem;
563+
display: inline-flex;
564+
justify-content: center;
565+
align-items: center;
568566
position: absolute;
569-
height: 100%;
570-
width: 100%;
571-
background-color: var(--bb-tabs-header-bg-color);
567+
568+
&::after {
569+
content: '';
570+
position: absolute;
571+
height: 100%;
572+
width: 100%;
573+
background-color: var(--bb-tabs-header-bg-color);
574+
}
572575
}
573-
}
574576

575-
.tab-corner-left {
576-
bottom: 0;
577-
left: -1rem;
577+
.tab-corner-left {
578+
bottom: 0;
579+
left: -1rem;
578580

579-
&::after {
580-
border-bottom-right-radius: 50%;
581+
&::after {
582+
border-bottom-right-radius: 50%;
583+
}
581584
}
582-
}
583585

584-
.tab-corner-right {
585-
bottom: 0;
586-
right: -1rem;
586+
.tab-corner-right {
587+
bottom: 0;
588+
right: -1rem;
587589

588-
&::after {
589-
border-bottom-left-radius: 50%;
590+
&::after {
591+
border-bottom-left-radius: 50%;
592+
}
590593
}
591594
}
595+
596+
.tabs-item-fix {
597+
background-color: var(--bb-tabs-header-bg-color);
598+
}
592599
}

0 commit comments

Comments
 (0)