电子:自定义标题栏:当光标离开应用程序时,按钮不会将其 CSS 属性更改回正常(鼠标悬停后)
Electron: Custom Titlebar: Buttons don't change their CSS properties back to normal (after mouse hover) when the cursor leaves the app
您好!这是我今天第二次发帖,但人们就是这样学习的,对吧?
反正!我正在使用 Electron 创建一个应用程序,我想创建一个自定义标题栏。我已经成功了,但有一个小细节让我很困扰。我希望按钮在鼠标悬停时改变它们的不透明度,但是当鼠标悬停在按钮上后光标离开应用程序时,它们不会改变。相反,我必须再次转到应用程序,再次将鼠标悬停在按钮上,最后才能看到正确的行为。
有没有办法来解决这个问题?这不是致命的,但我正在尽我所能使我的应用程序看起来美观且令人愉悦!
HTML:
<div class="titlebar">
<div class="dragzone"></div>
<h1>Dashboard - Wealm</h1>
<button id="closeApp">x</button>
<button id="minApp">-</button>
</div>
CSS:
.titlebar {
position: absolute;
top: 0;
width: 100%;
height: 29px;
overflow: hidden;
z-index: 50;
background: rgba(255, 255, 255, 0.8);
}
.titlebar .dragzone {
-webkit-app-region: drag;
overflow: hidden;
position: absolute;
left: 0;
width: 990px;
height: 29px;
}
.titlebar h1 {
float: left;
opacity: 0.85;
margin: 4px 0 0 43.5%;
font-family: Jost-400-Book;
font-size: 12pt;
}
.titlebar #closeApp {
font-weight: bold;
opacity: 0.55;
float: right;
background: none;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
margin-top: 2px;
}
.titlebar #minApp {
font-weight: bold;
opacity: 0.55;
float: right;
background: none;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
margin-top: 2px;
}
.titlebar #closeApp:hover {
opacity: 1;
}
.titlebar #minApp:hover {
opacity: 1;
}
好消息!我确实找到了解决方案!我做了什么 - 首先,我用段落替换了按钮内的内容。它是相同的文本,但在段落标记中。我将按钮的 overflow
属性 设置为 visible
,以便能够将按钮的高度设置为 0 而不会隐藏段落本身。然后我只是玩边距。由你决定!
.titlebar #closeApp {
font-weight: bold;
background: none;
float: right;
opacity: 0.55;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
overflow: hidden;
padding-right: 0px;
margin-right: 8px;
margin-top: 8px;
}
.titlebar #closeApp p {
margin-bottom: 0;
margin-top: -5.45px;
}
.titlebar #minApp {
font-weight: bold;
background: none;
float: right;
opacity: 0.55;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
overflow: hidden;
margin-top: 8px
}
.titlebar #minApp p {
margin-bottom: 0;
margin-top: -5.45px;
}
祝你有美好的一天!如果您有问题或解决方案不适合您,请告诉我!
您好!这是我今天第二次发帖,但人们就是这样学习的,对吧? 反正!我正在使用 Electron 创建一个应用程序,我想创建一个自定义标题栏。我已经成功了,但有一个小细节让我很困扰。我希望按钮在鼠标悬停时改变它们的不透明度,但是当鼠标悬停在按钮上后光标离开应用程序时,它们不会改变。相反,我必须再次转到应用程序,再次将鼠标悬停在按钮上,最后才能看到正确的行为。 有没有办法来解决这个问题?这不是致命的,但我正在尽我所能使我的应用程序看起来美观且令人愉悦!
HTML:
<div class="titlebar">
<div class="dragzone"></div>
<h1>Dashboard - Wealm</h1>
<button id="closeApp">x</button>
<button id="minApp">-</button>
</div>
CSS:
.titlebar {
position: absolute;
top: 0;
width: 100%;
height: 29px;
overflow: hidden;
z-index: 50;
background: rgba(255, 255, 255, 0.8);
}
.titlebar .dragzone {
-webkit-app-region: drag;
overflow: hidden;
position: absolute;
left: 0;
width: 990px;
height: 29px;
}
.titlebar h1 {
float: left;
opacity: 0.85;
margin: 4px 0 0 43.5%;
font-family: Jost-400-Book;
font-size: 12pt;
}
.titlebar #closeApp {
font-weight: bold;
opacity: 0.55;
float: right;
background: none;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
margin-top: 2px;
}
.titlebar #minApp {
font-weight: bold;
opacity: 0.55;
float: right;
background: none;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
margin-top: 2px;
}
.titlebar #closeApp:hover {
opacity: 1;
}
.titlebar #minApp:hover {
opacity: 1;
}
好消息!我确实找到了解决方案!我做了什么 - 首先,我用段落替换了按钮内的内容。它是相同的文本,但在段落标记中。我将按钮的 overflow
属性 设置为 visible
,以便能够将按钮的高度设置为 0 而不会隐藏段落本身。然后我只是玩边距。由你决定!
.titlebar #closeApp {
font-weight: bold;
background: none;
float: right;
opacity: 0.55;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
overflow: hidden;
padding-right: 0px;
margin-right: 8px;
margin-top: 8px;
}
.titlebar #closeApp p {
margin-bottom: 0;
margin-top: -5.45px;
}
.titlebar #minApp {
font-weight: bold;
background: none;
float: right;
opacity: 0.55;
border: none;
outline: none;
font-family: Eight One;
font-size: 18pt;
overflow: hidden;
margin-top: 8px
}
.titlebar #minApp p {
margin-bottom: 0;
margin-top: -5.45px;
}
祝你有美好的一天!如果您有问题或解决方案不适合您,请告诉我!