@opensig/opendesign
Version:
<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>
186 lines (166 loc) • 4.65 kB
CSS
.o-link {
--link-gap: 4px;
}
.o-link-normal {
--link-color: var(--o-color-info2);
--link-color-hover: var(--o-color-link2);
--link-color-active: var(--o-color-link3);
--link-color-disabled: var(--o-color-info4);
--link-bg-color-hover: var(--o-color-control1-light);
--link-bg-color-active: var(--o-color-control2-light);
}
.o-link-primary {
--link-color: var(--o-color-primary1);
--link-color-hover: var(--o-color-primary2);
--link-color-active: var(--o-color-primary3);
--link-color-disabled: var(--o-color-primary4);
--link-bg-color-hover: var(--o-color-primary1-light);
--link-bg-color-active: var(--o-color-primary2-light);
}
.o-link-success {
--link-color: var(--o-color-success1);
--link-color-hover: var(--o-color-success2);
--link-color-active: var(--o-color-success3);
--link-color-disabled: var(--o-color-success4);
--link-bg-color-hover: var(--o-color-success1-light);
--link-bg-color-active: var(--o-color-success2-light);
}
.o-link-warning {
--link-color: var(--o-color-warning1);
--link-color-hover: var(--o-color-warning2);
--link-color-active: var(--o-color-warning3);
--link-color-disabled: var(--o-color-warning4);
--link-bg-color-hover: var(--o-color-warning1-light);
--link-bg-color-active: var(--o-color-warning2-light);
}
.o-link-danger {
--link-color: var(--o-color-danger1);
--link-color-hover: var(--o-color-danger2);
--link-color-active: var(--o-color-danger3);
--link-color-disabled: var(--o-color-danger4);
--link-bg-color-hover: var(--o-color-danger1-light);
--link-bg-color-active: var(--o-color-danger2-light);
}
.o-link-small {
--link-icon-size: var(--o-icon_size_control-xs);
}
.o-link-medium {
--link-icon-size: var(--o-icon_size_control-xs);
}
.o-link-large {
--link-icon-size: var(--o-icon_size_control-m);
}
.o-link {
cursor: pointer;
padding: 0 2px;
color: var(--link-color);
align-items: center;
text-decoration: none;
border: none;
outline: none;
background-color: transparent;
}
@media (hover: hover) {
.o-link:hover {
color: var(--link-color-hover);
}
.o-link:hover .o-link-icon-arrow {
transform: translate3d(4px, 0, 0);
}
}
.o-link:active {
color: var(--link-color-active);
}
.o-link-icon-arrow {
transition: transform var(--o-easing-standard) var(--o-duration-m2);
}
.o-link-hover-underline {
--link-underline-x: 100%;
}
.o-link-hover-underline .o-link-label {
background: linear-gradient(0deg, var(--link-color-hover), var(--link-color-hover)) no-repeat var(--link-underline-x) bottom;
background-size: 0 1px;
transition: background-size var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
.o-link-hover-underline:hover .o-link-label {
background-size: var(--link-underline-x) 1px;
background-position-x: left;
}
}
.o-link-hover-bg {
transition: background-color var(--o-easing-standard) var(--o-duration-m2);
}
@media (hover: hover) {
.o-link-hover-bg:hover {
color: var(--link-color);
background-color: var(--link-bg-color-hover);
}
}
.o-link-hover-bg:active {
color: var(--link-color);
background-color: var(--link-bg-color-active);
}
.o-link-prefix,
.o-link-suffix {
height: var(--link-icon-size, 1em);
line-height: var(--link-icon-size, 1em);
font-size: var(--link-icon-size);
display: inline-flex;
align-items: center;
vertical-align: var(--link-align);
}
.o-link-prefix::before,
.o-link-suffix::before {
content: "x";
visibility: hidden;
user-select: none;
width: 0;
}
.o-link-prefix .o-svg-icon,
.o-link-suffix .o-svg-icon {
flex-shrink: 0;
}
.o-link-prefix {
margin-right: var(--link-gap);
}
.o-link-suffix {
margin-left: var(--link-gap);
}
.o-link-disabled, .o-link-disabled:hover, .o-link-disabled:active {
cursor: not-allowed;
color: var(--link-color-disabled);
}
@media (hover: hover) {
.o-link-disabled:hover .o-link-icon-arrow {
transform: translate3d(0, 0, 0);
}
.o-link-disabled:hover .o-link-label {
background: none;
}
}
.o-link-disabled.o-link-hover-underline {
background: none;
}
.o-link-small {
font-size: var(--o-font_size-tip1);
line-height: var(--o-line_height-tip1);
--link-align: -0.08em;
}
.o-link-medium {
font-size: var(--o-font_size-tip1);
line-height: var(--o-line_height-tip1);
--link-align: -0.08em;
}
.o-link-large {
font-size: var(--o-font_size-text1);
line-height: var(--o-line_height-text1);
--link-align: -0.1em;
}
@media (min-width: 1201px) and (max-width: 1440px) {
.o-link-large {
--link-icon-size: var(--o-icon_size-s);
font-size: var(--o-font_size-tip1);
line-height: var(--o-line_height-tip1);
}
}