display:inline-block または display:block 要素が Chrome で正常に表示されない場合はどうすればよいですか?
DEMO ページには入力ボックスが 1 つしかありませんが、入力ボックスにフォーカスがあると、高さが大きくなり、文字数が増加します。表示と返信ボタンが表示されます。
現在の問題は、Chrome が最初の更新後にのみ入力ボックスをクリックすると高さが増加し、単語数の表示と返信ボタンの要素が表示されることですが、入力ボックスを 2 回目にクリックすると、高さのみが増加します。ただし、文字数は表示されません。表示ボタンと返信ボタンの要素は表示されます (Firefox は正常です)
<head> <meta charset="UTF-8"> <title>案例:人人网评论功能</title> <style>.comment-input{width: 450px;}.input-area{outline: 0;border: 1px solid black;width:446px;height: 15px;}.input-area_expand{height: 45px;}.input-action{display: none;}.input-action_show{height: 26px;width: 102px;display: inline-block; //这里display: block都试过了,只能在第一次刷新的时候看到,再点击第二次输入框就看不到了float: right;} </style></head><body><p class="comment-input" style="border:1px solid red"> <textarea class="input-area" > 评论……</textarea><p class="input-action" style="border:1px solid red"><span class="inputed">0</span>/<span class="maxlength">140</span><a href="javascript:void(0)" class="reply-btn">回复</a></p></p></body>
//获取下一个兄弟元素节点function getNextElement(node) { if(node.nodeType == 1){ return node; } if(node.nextSibling){ return getNextElement(node.nextSibling); } return false;} document.getElementsByClassName('input-area')[0].onfocus = function() {this.className = 'input-area input-area_expand'var nextEl = getNextElement(this.nextSibling); nextEl.className = 'input-action input-action_show';this.value = ''; console.log('focus:'+nextEl.className)}document.getElementsByClassName('input-area')[0].onblur = function() {var nextEl = getNextElement(this.nextSibling);nextEl.className = 'input-action';this.className = 'input-area'this.value = '评论……';console.log('blur :'+nextEl.className);}
上記は、Chrome で displayblock または inlineblock 要素が表示できない場合の対処方法です。 、詳細については、php 中国語 Web サイトの他の関連記事に注目してください。