我正在構建一個jQuery表單字段驗證器,目前我正在構建CSS中的彈出式通知。保證金頂部/填充頂部沒有效果?
問題是,無法應用margin-top/padding-top
屬性,我無法獲得.notification-point
以對齊到.notification-body
的中心。
這裏有一個鏈接到我的jsfiddle:http://jsfiddle.net/Z6Jtd/8/
任何幫助/編輯將不勝感激!
我正在構建一個jQuery表單字段驗證器,目前我正在構建CSS中的彈出式通知。保證金頂部/填充頂部沒有效果?
問題是,無法應用margin-top/padding-top
屬性,我無法獲得.notification-point
以對齊到.notification-body
的中心。
這裏有一個鏈接到我的jsfiddle:http://jsfiddle.net/Z6Jtd/8/
任何幫助/編輯將不勝感激!
解決方案:http://jsfiddle.net/vonkly/Z6Jtd/9/
你去那裏。
注:我改變了你的JavaScript一點。我刪除了.fadeOut;我強烈建議爲.focusout()
創建一個函數 - 或者更好的辦法是,檢測值的變化,當它匹配所需的規則時,隱藏該消息。
對於未來的讀者:
的解決這個問題是在一個容器中與position: relative;
上包裹兩個標記(「點」)和體(「消息」)它。
然後,我使用position: absolute;
和top: 8px
定位了標記。
接下來,我將margin-left: 12px
添加到消息以便不重疊標記。
CSS
input[type="text"], input[type="password"] {
display: inline-block;
font: bold 13px Arial;
color: #555;
width: 300px;
padding: 8px 10px;
border: 0;
}
.notify-wrap {
position: relative;
display: none;
}
.notify-point {
position: absolute;
top: 8px;
display: inline-block;
border-style: solid;
border-color: transparent rgba(0, 0, 0, 0.75) transparent transparent;
border-width: 6px;
}
.notify-body {
margin-left: 12px; /* push the body out to make room for point */
padding: 8px 10px;
font: bold 11px Arial, Helvetica;
color: #fff !important;
background-color: rgba(0, 0, 0, 0.75);
}
注:上面的代碼修改爲不佔用室內負荷與border-radius
等
HTML
<div id="email">
<input name="1" type="text" value="Enter your email address"/>
<div class="notify-wrap x1">
<div class="notify-point"></div>
<div class="notify-body">
You've entered an invalid email address.
</div>
</div>
</div>
注:上 notify-wrap,我添加了類x1
來定義一個特定的錯誤消息,以保持OP原來的javascript格式。
的Javascript(jQuery的)
$('input').focus(function() {
var num = $(this).attr('name');
$('div.notify-wrap.x' + num).css('display','inline-block');
});
非常感謝。我甚至沒有意識到有一個名爲'.focusout()'的事件處理程序,非常感謝! – Avicinnian
不是問題。處理錯誤/警告消息的「最好」*方法是在問題發生時顯示它,並保持顯示狀態,直到問題得到解決。使用'.focus()'和'.focusout()'很好,但是就像UX建議一樣,我會使用它來提供更有幫助的提示或提示的內容,例如:http:// jsfiddle。淨/ vonkly/Z6Jtd/10 /。然後,在您的驗證中,添加一個'。錯誤「類輸入,並使用紅色邊框/樣式進行設置。只是一些建議 - 很高興我可以幫助您解決您的原始問題! – Ben
是的,小提琴並不是我打算做的事情的現實版本,更多的是模擬出測試這些通知類型事物的用法。無論如何,它依賴於CSS3,因此我將使用多個背景圖像將其移至單個「.class」。 :) – Avicinnian