/* 官网项目CSS重置样式 */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* 基础元素重置 */
html {
    font-size: 16px;
    /* 基准字体大小 */
    -webkit-text-size-adjust: 100%;
    /* 防止iOS横屏字体放大 */
    -ms-text-size-adjust: 100%;
}

body {
    line-height: 1.5;
    /* 统一行高 */
    -webkit-font-smoothing: antialiased;
    /* 字体平滑渲染 */
    -moz-osx-font-smoothing: grayscale;
}

/* 文本元素 */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
    font-size: inherit;
}

p {
    margin: 0;
}

/* 页面文本换行规则 */
p,
span,
li {
    /* line-break: anywhere; */
    /* 允许任意位置换行,但会出现换行后标点符号在行首的情况 */
    text-align: justify;
    /* 文字两端对齐 */
    line-break: strict;
    /* 用于控制文本如何在行末换行。设置为strict时，文本将在允许的断行点处换行，这意味着它只会遵循语言的自然断行规则，不会在非断行点处进行换行。这有助于保持文本的可读性和语义正确性，避免在不合适的位置换行，影响视觉效果。 */
    /* word-break: keep-all; */
    /* 用于控制单词内部的换行。设置为keep-all时，整个单词保持不变，不会被拆分开换行到下一行。 */
    /* text-align-last: justify; */
    /* 单行文本两端对齐 */
}

p,
blockquote {
    /* margin-bottom: 1rem; */
}

a {
    color: inherit;
    text-decoration: none;
    background-color: transparent;
    /* 移除iOS点击高亮 */
    -webkit-tap-highlight-color: transparent;
}

a:hover,
a:focus,
a:active {
    color: inherit;
}

/* 列表元素 */
ul,
ol,
menu {
    list-style: none;
}

/* 表格元素 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

th,
td {
    text-align: left;
    vertical-align: top;
    font-weight: normal;
}

/* 表单元素 */
button,
input,
optgroup,
select,
textarea {
    font: inherit;
    /* 继承字体样式 */
    color: inherit;
    line-height: inherit;
    border: none;
    background: none;
    outline: none;
    -webkit-appearance: none;
    /* 移除iOS默认样式 */
    -moz-appearance: none;
    appearance: none;
}

/* 移除搜索框清除按钮 */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

/* 移除数字输入框的上下箭头按钮 */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* 按钮重置 */
button {
    cursor: pointer;
    overflow: visible;
    /* 修复IE按钮溢出问题 */
}

/* 图片和媒体 */
img,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
    display: block;
    /* 消除图片底部间隙 */
}

/* 代码元素 */
code,
pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* 语义化HTML5元素 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
    display: block;
}

/* 模板元素 */
template {
    display: none;
}

/* 隐藏属性 */
[hidden] {
    display: none !important;
}