32 登录页组件

news2024/10/6 22:25:05

效果演示

32 登录页组件.gif

实现了一个登录页面的样式,包括一个容器、左侧和右侧部分。左侧部分是一个背景图片,右侧部分是一个表单,包括输入框、复选框、按钮和忘记密码链接。整个页面的背景色为白色,容器为一个圆角矩形,表单为一个半透明的背景色,输入框和按钮为白色,边框为1像素的灰色。当鼠标悬停在输入框上时,输入框的边框变为红色。当点击按钮时,按钮的背景色变为蓝色。忘记密码链接为蓝色。整个页面的布局为左右布局,左侧占66%,右侧占34%。

Code

<div class="container">
    <div class="left">
        <form class="form">
            <div class="input-block">
                <input class="input" type="text" id="email" required="">
                <label for="email">Username</label>
            </div>
            <div class="input-block">
                <input class="input" type="password" id="pass" required="">
                <label for="pass">Password</label>
            </div>
            <div class="input-block">
                <span class="forgot"><a href="#">Forgot Password?</a></span>
                <button>Submit</button>
            </div>
        </form>
    </div>
    <div class="right">
        <div class="img"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"
                viewBox="0 0 731.67004 550.61784" xmlns:xlink="http://www.w3.org/1999/xlink">
                <path
                    d="M0,334.13393c0,.66003,.53003,1.19,1.19006,1.19H730.48004c.65997,0,1.19-.52997,1.19-1.19,0-.65997-.53003-1.19-1.19-1.19H1.19006c-.66003,0-1.19006,.53003-1.19006,1.19Z"
                    fill="#3f3d56"></path>
                <polygon
                    points="466.98463 81.60598 470.81118 130.55703 526.26809 107.39339 494.98463 57.60598 466.98463 81.60598"
                    fill="#a0616a"></polygon>
                <circle cx="465.32321" cy="55.18079" r="41.33858" fill="#a0616a"></circle>
                <polygon
                    points="387.98463 440.60598 394.98463 503.39339 345.98463 496.60598 361.98463 438.60598 387.98463 440.60598"
                    fill="#a0616a"></polygon>
                <polygon
                    points="578.98463 449.60598 585.98463 512.39339 536.98463 505.60598 552.98463 447.60598 578.98463 449.60598"
                    fill="#a0616a"></polygon>
                <path
                    d="M462.48463,260.10598c-.66897,0-54.14584,2.68515-89.47714,4.46286-16.72275,.84141-29.45202,15.31527-28.15459,32.00884l12.63173,162.5283,36,1,.87795-131,71.12205,4-3-73Z"
                    fill="#2f2e41"></path>
                <path
                    d="M619.48463,259.10598s9,69,2,76c-7,7-226.5-5.5-226.5-5.5,0,0,48.15354-69.53704,56.82677-71.51852,8.67323-1.98148,146.67323-8.98148,146.67323-8.98148l21,10Z"
                    fill="#2f2e41"></path>
                <path id="uuid-91047c5b-47d7-4179-8a16-40bd6d529b28-203"
                    d="M335.12666,172.23337c-8.35907-11.69074-9.10267-25.48009-1.66174-30.79863,7.44093-5.31854,20.24665-.15219,28.60713,11.54383,3.40375,4.62627,5.65012,10.00041,6.55111,15.67279l34.79215,49.9814-19.8001,13.70807-35.7745-48.83421c-5.07753-2.68845-9.43721-6.55406-12.71405-11.27326Z"
                    fill="#a0616a"></path>
                <path d="M464.98463,112.60598l51-21,96,148s-67,15-90,18c-23,3-49-9-49-9l-8-136Z" fill="#6c63ff">
                </path>
                <path
                    d="M526.98463,137.60598l-18.5-57.70866,24,18.20866s68,45,68,64c0,19,21,77,21,77,0,0,23.5,19.5,15.5,37.5-8,18,10.5,15.5,12.5,28.5,2,13-28.5,30.5-28.5,30.5,0,0-7.5-73.5-31.5-73.5-24,0-62.5-124.5-62.5-124.5Z"
                    fill="#3f3d56"></path>
                <path
                    d="M468.56831,111.13035l-25.08368,9.97563s4,70,8,76c4,6,18,38,18,38v10.42913s-28,8.57087-27,13.57087c1,5,66,19,66,19,0,0-13-40-21-53-8-13-18.91632-113.97563-18.91632-113.97563Z"
                    fill="#3f3d56"></path>
                <path
                    d="M452.48463,121.10598s-29-4-34,30c-5,34-1.82283,38.5-1.82283,38.5l-8.17717,19.5-27-30-26,17s47,76,66,74c19-2,47-57,47-57l-16-92Z"
                    fill="#3f3d56"></path>
                <path
                    d="M597.32321,270.14478l-14.83858,209.96121-38.5-1.5s-8.5-198.5-8.5-201.5c0-3,4-20,29-21,25-1,32.83858,14.03879,32.83858,14.03879Z"
                    fill="#2f2e41"></path>
                <path
                    d="M541.48463,484.10598s20-6,23-2c3,4,20,6,20,6l5,49s-14,10-16,12-55,4-56-8c-1-12,14-27,14-27l10-30Z"
                    fill="#2f2e41"></path>
                <path
                    d="M394.48463,470.10598s6-5,8,9c2,14,9,37-1,40-10,3-110,4-110-5v-9l9-7,18.00394-2.869s34.99606-32.131,38.99606-32.131c4,0,17,13,17,13l20-6Z"
                    fill="#2f2e41"></path>
                <path
                    d="M505.98463,77.60598s-20-24-28-22-3,5-3,5l-20-22s-16-6-31,13c0,0-9-16,0-25,9-9,12-8,14-13,2-5,16-9,16-9,0,0-.80315-7.19685,3.59843-3.59843s15.3937,3.59843,15.3937,3.59843c0,0,.06299-4,4.53543,0,4.47244,4,9.47244,2,9.47244,2,0,0,0,6.92126,3.5,6.96063,3.5,.03937,9.5-4.96063,10.5-.96063,1,4,8,6,9,18,1,12-4,47-4,47Z"
                    fill="#2f2e41"></path>
                <g>
                    <path
                        d="M342.99463,178.84874l-114.2362,78.82694c-3.94205,2.72015-9.36214,1.72624-12.08229-2.21581l-32.16176-46.60891c-2.72015-3.94205-1.7259-9.36208,2.21615-12.08223l114.2362-78.82694c3.94205-2.72015,9.36214-1.72624,12.08229,2.21581l32.16176,46.60891c2.72015,3.94205,1.7259,9.36208-2.21615,12.08223Z"
                        fill="#fff"></path>
                    <path
                        d="M312.83914,120.30274l32.16148,46.6085c2.64627,3.83499,1.68408,9.08121-2.15091,11.72749l-56.06388,38.68602c-14.78562-4.04015-28.2774-13.11486-37.66263-26.71596-6.14766-8.9092-9.85314-18.77211-11.26649-28.80885l63.25494-43.6481c3.83499-2.64627,9.08121-1.68408,11.72749,2.15091Z"
                        fill="#e6e6e6"></path>
                    <path
                        d="M223.84012,260.20913c-3.0791,0-6.10938-1.46094-7.9873-4.18066l-32.16211-46.60938c-1.4668-2.12695-2.01758-4.7002-1.5498-7.24805,.4668-2.54785,1.89551-4.75879,4.02246-6.22559l114.23535-78.82715c4.39746-3.03223,10.44043-1.92285,13.47363,2.4707l32.16211,46.60938c1.4668,2.12695,2.01758,4.7002,1.5498,7.24805-.4668,2.54688-1.89551,4.75879-4.02148,6.22559l-114.23633,78.82715c-1.67578,1.15527-3.59082,1.70996-5.48633,1.70996Zm82.04785-142.80176c-1.50391,0-3.02344,.44043-4.35254,1.35742l-114.23633,78.82715c-1.6875,1.16309-2.82031,2.91797-3.19141,4.94043-.37109,2.02148,.06543,4.06445,1.22949,5.75l32.16211,46.60938c2.40625,3.48633,7.20215,4.36816,10.69043,1.96094l114.2373-78.82715c1.68652-1.16309,2.81934-2.91797,3.19043-4.94043,.37109-2.02148-.06543-4.06445-1.22949-5.75l-32.16211-46.60938c-1.48926-2.1582-3.89453-3.31836-6.33789-3.31836Z"
                        fill="#3f3d56"></path>
                    <path
                        d="M224.6666,236.93718c-2.89521,1.9978-3.6253,5.97848-1.6275,8.87369,1.9978,2.89521,5.97848,3.6253,8.87369,1.6275l11.76134-8.11573c2.89521-1.9978,3.6253-5.97848,1.6275-8.87369-1.9978-2.89521-5.97848-3.6253-8.87369-1.6275l-11.76134,8.11573Z"
                        fill="#6c63ff"></path>
                    <path
                        d="M232.63862,171.91114c-4.56802,3.15209-5.71978,9.43286-2.56769,14.00088,3.15209,4.56802,9.43252,5.71972,14.00054,2.56763l18.29546-12.6245c4.56802-3.15209,5.72007-9.43245,2.56797-14.00047-3.15209-4.56802-9.4328-5.72013-14.00082-2.56804l-18.29546,12.6245Z"
                        fill="#6c63ff"></path>
                </g>
                <g>
                    <path
                        d="M340.25926,185.80874H201.4659c-4.78947,0-8.68608-3.89636-8.68608-8.68583v-56.62834c0-4.78947,3.89661-8.68583,8.68608-8.68583h138.79336c4.78947,0,8.68608,3.89636,8.68608,8.68583v56.62834c0,4.78947-3.89661,8.68583-8.68608,8.68583Z"
                        fill="#fff"></path>
                    <path
                        d="M348.69017,120.49482v56.62784c0,4.65939-3.77152,8.43091-8.43091,8.43091h-68.11583c-9.87497-11.72273-15.82567-26.8544-15.82567-43.37931,0-10.82439,2.55172-21.04674,7.08876-30.11034h76.85275c4.65939,0,8.43091,3.77152,8.43091,8.43091Z"
                        fill="#e6e6e6"></path>
                    <path
                        d="M340.25907,186.80874H201.4661c-5.34082,0-9.68652-4.34473-9.68652-9.68555v-56.62891c0-5.34082,4.3457-9.68555,9.68652-9.68555h138.79297c5.34082,0,9.68652,4.34473,9.68652,9.68555v56.62891c0,5.34082-4.3457,9.68555-9.68652,9.68555ZM201.4661,112.80874c-4.23828,0-7.68652,3.44727-7.68652,7.68555v56.62891c0,4.23828,3.44824,7.68555,7.68652,7.68555h138.79297c4.23828,0,7.68652-3.44727,7.68652-7.68555v-56.62891c0-4.23828-3.44824-7.68555-7.68652-7.68555H201.4661Z"
                        fill="#3f3d56"></path>
                    <path
                        d="M209.87637,166.41564c-3.51759,0-6.37931,2.86172-6.37931,6.37931s2.86172,6.37931,6.37931,6.37931h14.28966c3.51759,0,6.37931-2.86172,6.37931-6.37931s-2.86172-6.37931-6.37931-6.37931h-14.28966Z"
                        fill="#6c63ff"></path>
                    <path
                        d="M253.36907,117.42253c-5.55,0-10.06511,4.51536-10.06511,10.06536s4.51511,10.06486,10.06511,10.06486h22.22841c5.55,0,10.06511-4.51486,10.06511-10.06486s-4.51511-10.06536-10.06511-10.06536h-22.22841Z"
                        fill="#6c63ff"></path>
                </g>
                <g>
                    <path
                        d="M456.25926,381.80874h-138.79336c-4.78947,0-8.68608-3.89636-8.68608-8.68583v-56.62834c0-4.78947,3.89661-8.68583,8.68608-8.68583h138.79336c4.78947,0,8.68608,3.89636,8.68608,8.68583v56.62834c0,4.78947-3.89661,8.68583-8.68608,8.68583Z"
                        fill="#fff"></path>
                    <path
                        d="M464.69017,316.49482v56.62784c0,4.65939-3.77152,8.43091-8.43091,8.43091h-68.11583c-9.87497-11.72273-15.82567-26.8544-15.82567-43.37931,0-10.82439,2.55172-21.04674,7.08876-30.11034h76.85275c4.65939,0,8.43091,3.77152,8.43091,8.43091Z"
                        fill="#e6e6e6"></path>
                    <path
                        d="M456.25907,382.80874h-138.79297c-5.34082,0-9.68652-4.34473-9.68652-9.68555v-56.62891c0-5.34082,4.3457-9.68555,9.68652-9.68555h138.79297c5.34082,0,9.68652,4.34473,9.68652,9.68555v56.62891c0,5.34082-4.3457,9.68555-9.68652,9.68555Zm-138.79297-74c-4.23828,0-7.68652,3.44727-7.68652,7.68555v56.62891c0,4.23828,3.44824,7.68555,7.68652,7.68555h138.79297c4.23828,0,7.68652-3.44727,7.68652-7.68555v-56.62891c0-4.23828-3.44824-7.68555-7.68652-7.68555h-138.79297Z"
                        fill="#3f3d56"></path>
                    <path
                        d="M325.87637,362.41564c-3.51759,0-6.37931,2.86172-6.37931,6.37931s2.86172,6.37931,6.37931,6.37931h14.28966c3.51759,0,6.37931-2.86172,6.37931-6.37931s-2.86172-6.37931-6.37931-6.37931h-14.28966Z"
                        fill="#6c63ff"></path>
                    <path
                        d="M369.36907,313.42253c-5.55,0-10.06511,4.51536-10.06511,10.06536s4.51511,10.06486,10.06511,10.06486h22.22841c5.55,0,10.06511-4.51486,10.06511-10.06486s-4.51511-10.06536-10.06511-10.06536h-22.22841Z"
                        fill="#6c63ff"></path>
                </g>
                <path id="uuid-c026fd96-7d81-4b34-bb39-0646c0e08e96-204"
                    d="M465.67391,331.01678c-12.74718,6.63753-26.5046,5.44058-30.72743-2.67249-4.22283-8.11308,2.6878-20.06802,15.44041-26.70621,5.05777-2.72156,10.69376-4.19231,16.43644-4.28916l54.36547-27.44139,10.79681,21.52636-53.36733,28.57487c-3.37375,4.65048-7.81238,8.42516-12.94437,11.00803Z"
                    fill="#a0616a"></path>
                <path d="M527.48463,97.10598s56-3,68,27c12,30,22,128,22,128l-122,66.37402-21-32.37402,82-64-29-125Z"
                    fill="#3f3d56"></path>
            </svg></div>

    </div>
</div>
body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e8e8e8;
}

.container {
    display: flex;
    width: 520px;
    height: 500px;
    max-width: 99%;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background-color: #ffffff25;
    border-radius: 15px;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.03);
    border: 0.1px solid rgba(128, 128, 128, 0.178);
}

.left {
    width: 66%;
    height: 100%;
}

.form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 100%;
    left: 0;
    backdrop-filter: blur(20px);
    position: relative;
}

.form::before {
    position: absolute;
    content: "";
    width: 40%;
    height: 40%;
    right: 1%;
    z-index: -1;
    background: radial-gradient(circle,
            rgb(194, 13, 170) 20%,
            rgb(26, 186, 235) 60%,

            rgb(26, 186, 235) 100%);
    filter: blur(70px);
    border-radius: 50%;
}

.right {
    width: 34%;
    height: 100%;
}

.img {
    width: 100%;
    height: 100%;
}

.container::after {
    position: absolute;
    content: "";
    width: 80%;
    height: 80%;
    right: -40%;
    background: rgb(157, 173, 203);
    background: radial-gradient(circle,
            rgba(157, 173, 203, 1) 61%,
            rgba(99, 122, 159, 1) 100%);
    border-radius: 50%;
    z-index: -1;
}

.input,
button {
    background: rgba(253, 253, 253, 0);
    outline: none;
    border: 1px solid rgba(255, 0, 0, 0);
    border-radius: 0.5rem;
    padding: 10px;
    margin: 10px auto;
    width: 80%;
    display: block;
    color: #425981;
    font-weight: 500;
    font-size: 1.1em;
}

.input-block {
    position: relative;
}

label {
    position: absolute;
    left: 15%;
    top: 37%;
    pointer-events: none;
    color: gray;
}

.forgot {
    display: block;
    margin: 5px 0 10px 0;
    margin-left: 35px;
    color: #5e7eb6;
    font-size: 0.9em;
}

.input:focus+label,
.input:valid+label {
    transform: translateY(-120%) scale(0.9);
    transition: all 0.4s;
}

button {
    background-color: #5e7eb6;
    color: white;
    font-size: medium;
    box-shadow: 2px 4px 8px rgba(70, 70, 70, 0.178);
}

a {
    color: #5e7eb6;
}

.input {
    box-shadow: inset 4px 4px 4px rgba(165, 163, 163, 0.315),
        4px 4px 4px rgba(218, 218, 218, 0.13);
}

实现思路拆分

body {
  height: 100vh; /* 设置body高度为视口高度 */
  display: flex; /* 设置body元素为flex布局 */
  justify-content: center; /* 设置主轴对齐方式为居中对齐 */
  align-items: center; /* 设置交叉轴对齐方式为居中对齐 */
  background-color: #e8e8e8; /* 设置背景颜色为灰色 */
}

这段代码设置了整个页面的样式,包括高度、布局方式、对齐方式和背景颜色。

.container {
  display: flex; /* 设置容器元素为flex布局 */
  width: 520px; /* 设置容器宽度为520像素 */
  height: 500px; /* 设置容器高度为500像素 */
  max-width: 99%; /* 设置容器最大宽度为99% */
  align-items: center; /* 设置交叉轴对齐方式为居中对齐 */
  justify-content: center; /* 设置主轴对齐方式为居中对齐 */
  position: relative; /* 设置容器元素为相对定位 */
  overflow: hidden; /* 设置容器元素超出范围时隐藏溢出部分 */
  background-color: #ffffff25; /* 设置容器背景颜色为半透明白色 */
  border-radius: 15px; /* 设置容器边框为圆角矩形 */
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.03); /* 设置容器阴影效果 */
  border: 0.1px solid rgba(128, 128, 128, 0.178); /* 设置容器边框为0.1像素的灰色实线 */
}

这段代码设置了登录页面容器的样式,包括布局方式、尺寸、对齐方式、定位方式、溢出处理、背景颜色、边框半径、阴影效果和边框样式。

.left {
  width: 66%; /* 设置左侧部分宽度为66% */
  height: 100%; /* 设置左侧部分高度为100% */
}

这段代码设置了登录页面左侧部分的样式,包括宽度和高度。

.form {
  display: flex; /* 设置表单元素为flex布局 */
  flex-direction: column; /* 设置表单元素的主轴方向为垂直方向 */
  justify-content: center; /* 设置表单元素的交叉轴对齐方式为居中对齐 */
  height: 100%; /* 设置表单元素高度为100% */
  width: 100%; /* 设置表单元素宽度为100% */
  left: 0; /* 设置表单元素左侧位置为0 */
  backdrop-filter: blur(20px); /* 设置表单元素背景模糊程度为20px */
  position: relative; /* 设置表单元素为相对定位 */
}

这段代码设置了登录页面表单的样式,包括布局方式、主轴方向、交叉轴对齐方式、高度、宽度、左侧位置、背景模糊程度和定位方式。

.form::before {
  position: absolute; /* 设置伪元素为绝对定位 */
  content: ""; /* 设置伪元素的内容为空 */
  width: 40%; /* 设置伪元素宽度为40% */
  height: 40%; /* 设置伪元素高度为40% */
  right: 1%; /* 设置伪元素右侧位置为1% */
  z-index: -1; /* 设置伪元素的层叠顺序为-1 */
  background: radial-gradient(circle,
                              rgb(194, 13, 170) 20%,
                              rgb(26, 186, 235) 60%,
                              rgb(26, 186, 235) 100%); /* 设置伪元素的背景为径向渐变色 */
  filter: blur(70px); /* 设置伪元素的模糊程度为70px */
  border-radius: 50%; /* 设置伪元素的边框为圆形 */
}

这段代码设置了登录页面表单的背景伪元素的样式,包括位置、大小、位置、层叠顺序、背景、模糊程度和边框半径。

.right {
  width: 34%; /* 设置右侧部分宽度为34% */
  height: 100%; /* 设置右侧部分高度为100% */
}

这段代码设置了登录页面右侧部分的样式,包括宽度和高度。

.img {
  width: 100%; /* 设置图片宽度为100% */
  height: 100%; /* 设置图片高度为100% */
}

这段代码设置了登录页面图片的样式,包括宽度和高度。

.container::after {
  position: absolute; /* 设置伪元素为绝对定位 */
  content: ""; /* 设置伪元素的内容为空 */
  width: 80%; /* 设置伪元素宽度为80% */
  height: 80%; /* 设置伪元素高度为80% */
  right: -40%; /* 设置伪元素右侧位置为-40% */
  background: rgb(157, 173, 203); /* 设置伪元素的背景为深蓝色 */
  background: radial-gradient(circle,
                              rgba(157, 173, 203, 1) 61%,
                              rgba(99, 122, 159, 1) 100%); /* 设置伪元素的背景为径向渐变色 */
  border-radius: 50%; /* 设置伪元素的边框为圆形 */
  z-index: -1; /* 设置伪元素的层叠顺序为-1 */
}

这段代码设置了登录页面容器的背景伪元素的样式,包括位置、大小、位置、背景、边框半径和层叠顺序。

.input,
button {
  background: rgba(253, 253, 253, 0); /* 设置输入框和按钮的背景颜色为透明 */
  outline: none; /* 设置输入框和按钮的轮廓线为none */
  border: 1px solid rgba(255, 0, 0, 0); /* 设置输入框和按钮的边框为1px红色实线 */
  border-radius: 0.5rem; /* 设置输入框和按钮的圆角半径为0.5rem */
  padding: 10px; /* 设置输入框和按钮的内边距为10px */
  margin: 10px auto; /* 设置输入框和按钮的外边距为10px自动 */
  width: 80%; /* 设置输入框和按钮的宽度为80% */
  display: block; /* 设置输入框和按钮为块级元素 */
  color: #425981; /* 设置输入框和按钮的文本颜色为深蓝色 */
  font-weight: 500; /* 设置输入框和按钮的字体粗细为500 */
  font-size: 1.1em; /* 设置输入框和按钮的字体大小为1.1em */
}

这段代码设置输入框和按钮的样式,包括背景颜色、轮廓线、边框、圆角半径、内边距、外边距、宽度、块级元素、文本颜色、字体粗细和字体大小。

.input-block {
  position: relative;
}

这段代码设置一个相对定位的容器,用于放置输入框和标签。

label {
  position: absolute;
  left: 15%;
  top: 37%;
  pointer-events: none;
  color: gray;
}

这段代码设置标签的样式,包括绝对定位、距离左侧的距离、距离顶部的距离、指针事件为none、文本颜色为灰色。

.forgot {
  display: block;
  margin: 5px 0 10px 0;
  margin-left: 35px;
  color: #5e7eb6;
  font-size: 0.9em;
}

这段代码设置忘记密码的样式,包括块级元素、上下外边距、左侧外边距、文本颜色和字体大小。

.input:focus+label,
.input:valid+label {
  transform: translateY(-120%) scale(0.9);
  transition: all 0.4s;
}

这段代码设置输入框获得焦点或输入有效时的样式,包括标签向上移动120%、缩放0.9倍、过渡效果为all 0.4s。

button {
  background-color: #5e7eb6;
  color: white;
  font-size: medium;
  box-shadow: 2px 4px 8px rgba(70, 70, 70, 0.178);
}

这段代码设置按钮的样式,包括背景颜色、文本颜色、字体大小和阴影效果。

a {
  color: #5e7eb6;
}

这段代码设置链接的样式,包括文本颜色。

.input {
  box-shadow: inset 4px 4px 4px rgba(165, 163, 163, 0.315),
    4px 4px 4px rgba(218, 218, 218, 0.13);
}

这段代码设置输入框的样式,包括内阴影和外阴影。内阴影为4px 4px 4px rgba(165, 163, 163, 0.315),外阴影为4px 4px 4px rgba(218, 218, 218, 0.13)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1400339.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

beego的模块篇 - 监控检查、性能监控

在 v2.x 里面&#xff0c;我们将原本的toolbox拆分为两块&#xff0c;一块是admin&#xff0c;即治理模块&#xff1b;另外一块是task。 安装&#xff1a; go get github.com/beego/beego/v2/core/admin 1 监控检查 安装需要检查的mysql库 go get -u github.com/beego/bee…

【图解数据结构】顺序表实战指南:手把手教你详细实现(超详细解析)

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;图解数据结构、算法模板 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. ⛳️线性表1.1 &#x1f514;线性表的定义1.2 &#x1f514;线性表的存储结构 二. ⛳️顺序表…

linux的PXE服务(进阶知识)

一、批量部署概述 什么是PXE 预启动执行环境&#xff08;PXE&#xff09;是由Intel公司开发的最新技术&#xff0c;工作于Client/Server的网络模式&#xff0c;支持工作站通过网络从远端服务器下载映像&#xff0c;并由此支持通过网络启动操作系统&#xff0c;在启动过程中&am…

使用vscode在wsl2中配置clangd环境

在vscode中安装这三个插件&#xff08;clangd需要科学上网或者从VSIX安装&#xff09; 之后创建一个空目录并进去。 使用快捷键ctrlshiftp&#xff0c;输入命令 Cmake:Quick Start 根据步骤选择。注意在创建CMakeLists.txt这一步选择跳过&#xff0c;直接输入enter&#xff0c…

多线程(看这一篇就够了,超详细,满满的干货)

多线程 一.认识线程&#xff08;Thread&#xff09;1. 1) 线程是什么1. 2) 为啥要有线程1.3) 进程和线程的区别标题1.4) Java的线程和操作系统线程的关系 二.创建线程方法1:继承Thread类方法2:实现Runnable接口方法3:匿名内部类创建Thread子类对象标题方法4:匿名内部类创建Runn…

(循环依赖问题)学习spring的第九天

Bean实例的属性填充 Spring在属性注入时 , 分为如下几种情况 : 注入单向对象引用 : 如usersevice里注入userdao , userdao里没有注入其他属性 注入双向对象引用 : 如usersevice里注入userdao , userdao也注入usersevice属性 二 . 着重看循环依赖问题 (搞清原理即可) 问题提出…

基于Spring+mybatis+vue的在线课后测试系统(Java毕业设计)

大家好&#xff0c;我是DeBug&#xff0c;很高兴你能来阅读&#xff01;作为一名热爱编程的程序员&#xff0c;我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里&#xff0c;我将会结合实际项目经验&#xff0c;分享编程技巧、最佳实践以及解决问题的方法。无论你是…

C语言第四弹---printf和scanf详解

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 printf和scanf详解 1、printf和scanf详解介绍1.1 printf1.1.1 基本用法1.1.2 占位符1.1.3 占位符列举1.1.4 输出格式1.1.4.1 限定宽度1.1.4.2 总是显示正负号1.1…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例4-6 fieldset

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>fieldset</title> </head><body> <form action"#"><fieldset><legend>学生信息</legend>姓名&#xff1a;&…

svg矢量图标在wpf中的使用

在wpf应用程序开发中&#xff0c;为支持图标的矢量缩放&#xff0c;及在不同分辨率下界面中图标元素的矢量无损缩放&#xff0c;所以常常用到svg图标&#xff0c;那么如果完 美的将svg图标运用到wpf日常的项目开发中呢&#xff0c;这里分享一下我的个人使用经验和详细步骤。 步…

互联网加竞赛 基于机器视觉的手势检测和识别算法

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的手势检测与识别算法 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng…

1.10马原,总复习PART2

马克思主义鲜明特征 革命性&#xff0c;科学性&#xff0c;实践性 人民性&#xff0c;发展性 革命性、科学性&#xff0c;实践性&#xff0c;人民性&#xff0c;发展性 革命性&#xff0c;科学性&#xff0c;实践性&#xff0c;人 革命性&#xff0c;发展性&#xff0c…

Java设计模式-原型模式(3)

大家好,我是馆长!从今天开始馆长开始对java设计模式的创建型模式中的单例模式、原型模式、工厂方法、抽象工厂、建造者的原型模式进行讲解和说明。 原型模式(Prototype Pattern) 定义 原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对…

Mac book air 重新安装系统验证显示 untrusted_cert_title

环境&#xff1a; Mac Book Air macOS Sierra 问题描述&#xff1a; Mac book air 重新安装系统验证显示 untrusted_cert_title 解决方案&#xff1a; 1.终端输入命令行输入 date 会看到一个非常旧的日期 2.更改日期为当前时间 使用以下命令来设置日期和时间&#xff1a…

流式湖仓增强,Hologres + Flink构建企业级实时数仓

云布道师 2023 年 12 月&#xff0c;由阿里云主办的实时计算闭门会在北京举行&#xff0c;阿里云实时数仓Hologres 研发负责人姜伟华现场分享 HologresFlink 构建的企业级实时数仓&#xff0c;实现全链路的数据实时计算、实时写入、实时更新、实时查询。同时&#xff0c;随着流…

backtrader策略库:强化学习一: 梯度提升( Gradient Ascent)

本文来自博客文章&#xff0c;文末含源码链接。 In the next few posts, I will be going over a strategy that uses Machine Learning to determine what trades to execute. Before we start going over the strategy, we will go over one of the algorithms it uses: Gra…

数据结构一:算法效率分析(时间复杂度和空间复杂度)-重点

在学习具体的数据结构和算法之前&#xff0c;每一位初学者都要掌握一个技能&#xff0c;即善于运用时间复杂度和空间复杂度来衡量一个算法的运行效率。所谓算法&#xff0c;即解决问题的方法。同一个问题&#xff0c;使用不同的算法&#xff0c;虽然得到的结果相同&#xff0c;…

【c++leetcode】1913.Maximum Product Difference Between Two Pairs

问题入口 这个问题很容易解决。只要将数组排序&#xff0c;返回 最大元素*第二大元素-最小元素*第二小元素 即可。通过这道题顺便复习一些排序算法 。 直接使用sort函数 class Solution {public:int maxProductDifference(vector<int>& nums) {sort(nums.begin(),…

《WebKit 技术内幕》之三(2): WebKit 架构和模块

2.基于 Blink 的 Chrominum 浏览器结构 2.1 Chrominum 浏览器的架构及模块 Chromium也是基于WebKit&#xff08;Blink&#xff09;开发的&#xff0c;并且在WebKit的移植部分中&#xff0c;Chromium也做了很多有趣的事&#xff0c;所以通过Chromium可以了解如何基于WebKit构建浏…

尝试解决githubclone失败问题

BV1qV4y1m7PB 根据这个视频 似乎是我的linux的github似乎下好了 我没有配置好 比如我的ssh-key 现在根据视频试试 首先需要跳转到ssh的文件夹&#xff1a; cd ~/.ssh 然后生成一个ssh-key&#xff1a; ssh-keygen -t rsa -C "<github资料里的邮箱>" 然后…