gpt4 book ai didi

javascript - 如何申请:hover on :after to certain div in CSS

转载 作者:行者123 更新时间:2023-11-30 12:32:10 28 4
gpt4 key购买 nike

进行了深入搜索并学习了如何创建一些时尚的自定义文本框以获得更好的图形外观。我有两个问题来完成这个文本框的网格化,以便它们提供通用文本框的全部功能。

  1. 我无法在父 div 容器上执行 :focus,尽管代码在 CSS 中非常好,因为在通过 Inspect Element (Chrome) 时,Force Element to> :focus 它会做我想做的事,但在实时情况下,它永远不会点击它的 child 或自己。
  2. 我想在子 div 容器(左边的黑色 div)上添加 :hover 效果,它将在其中展开 :after 过渡一定数量的像素(假设 +20px/+30px)。

期望的和最终的结果应该如下图所示: Custom textfield issues

#submitForm {
border:2px grey inset;
border-radius:10px;
display:table;
margin: 10px auto 0;
height: 500px;
position:relative;
width: 800px;
}
#submitForm #btnSend {
bottom:20px;
display:block;
height: 50px;
position:absolute;
right: 20px;
width:100px;
}
#submitForm .highlights {
border-bottom:5px solid #2E8DEF;
border-radius:15px;
float:left;
height: 45px;
margin-top: 40px;
margin-left:40px;
width: 520px;
}
#submitForm .highlights:focus {
border-bottom:none;
outline: 0;
-webkit-box-shadow: 0px 0px 6px 2px rgba(105, 185, 250, 0.8);
-moz-box-shadow: 0px 0px 6px 2px rgba(105, 185, 250, 0.8);
box-shadow: 0px 0px 6px 2px rgba(105, 185, 250, 0.8);
}
#submitForm .tags, #submitForm .textarea {
float:left;
font-size: 25px;
font-family: calibri;
font-style: italic;
height: 40px;
position:absolute;
text-align: center;
}
#submitForm .tags {
border-bottom-left-radius: 10px;
border-top-left-radius: 10px;
background: #333333;
color: #2E8DEF;
height:40px;
padding-top:5px;
text-align: center;
width: 120px;
z-index:3;
}
#submitForm .tags:after {
background: #333333;
content:" ";
display: block;
left: 90px;
height: 100%;
position:absolute;
top: 0;
width: 30%;
z-index:-1;
transform-origin: bottom left;
-ms-transform: skew(-30deg, 0deg);
-webkit-transform: skew(-30deg, 0deg);
transform: skew(-30deg, 0deg);
}
#submitForm .tags:hover {
text-shadow: #2E8DEF 0px 0px 5px;
}
#submitForm .tags:after:hover {
/* Code for expanding the skewed .tags:after */
}
#submitForm .textarea {
background-color:#F0F0F0;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
margin-left: 120px;
overflow: hidden;
padding-top: 5px;
width: 400px;
appearance: field;
-moz-appearance: field;
-webkit-appearance: field;
}
#submitForm .textarea:focus {
outline:0;
}

<forms id='submitForm'>
<div id='formName' class='highlights'>
<div class='tags'>Name</div>
<div class='textarea' contenteditable></div>
</div>
<div id='formSurname' class='highlights'>
<div class='tags'>Surname</div>
<div class='textarea' contenteditable></div>
</div>
<div id='formAddress'class='highlights'>
<div class='tags'>Address</div>
<div class='textarea' contenteditable></div>
</div>
<div id='formCity' class='highlights'>
<div class='tags'>City</div>
<div class='textarea' contenteditable></div>
</div>
<div id='formPhone' class='highlights'>
<div class='tags'>Phone</div>
<div class='textarea' contenteditable></div>
</div>
<button id="btnSend" type="button" onclick='submitListOfProducts()'>Submit</button>
</forms>

还有,JS fiddle 的链接: http://jsfiddle.net/xa3nwhj4/1/

最佳答案

Vishal 提供了悬停效果不起作用的原因 - 这是我的补充:- 焦点仅在文本区域上触发,但您想更改父 div 的样式

所以让我们将 #submitForm .highlights:focus 的 css 条目更改为 #submitForm .focusedhighlights

然后让 jquery 施展魔法:

$(".textarea").focus(function(){ //event handler, to fire when a textarea gets focused
$(this).parent().toggleClass("focusedhighlights") //toggle class on parent element for highlight effect
});

$(".textarea").focusout(function(){ //event handler to fire, when textarea gets unfocused
$(this).parent().toggleClass("focusedhighlights") // toggle class to remove highlight effect
});

在这里查看工作 fiddle :http://jsfiddle.net/vo59rgnd/2/

关于javascript - 如何申请:hover on :after to certain div in CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382945/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com