移動(dòng)端input placeholder垂直不居中粥谬。
移動(dòng)端輸入框的placeholder文字仔細(xì)看并非完全垂直居中,網(wǎng)上說(shuō)要設(shè)置行高蜜猾,但是我設(shè)置了行高等于input的高度后笋籽,在手機(jī)上輸入文字時(shí),閃動(dòng)的焦點(diǎn)線的高度跟input高度一樣看起來(lái)很奇怪部凑÷斗Γ看了一下淘寶和京東得到了解決方案:先把input的樣式做到另外一個(gè)div上面,然后把input定位到到這個(gè)div里面讓它上下居中涂邀。
20171227更新:后面發(fā)現(xiàn)瘟仿,把行高設(shè)置為某個(gè)定值,這個(gè)定值不能跟font-size一樣大必孤,要比f(wàn)ont-size大一點(diǎn)猾骡,例如瑞躺,font-size為14px,行高設(shè)置為20px兴想,就可以居中幢哨。-webkit-overflow-scrolling: touch
移動(dòng)端頁(yè)面overflow:scroll很卡,使用-webkit-overflow-scrolling: touch會(huì)讓滾動(dòng)變得很流暢嫂便。關(guān)于三行等高
今天在做8000這個(gè)項(xiàng)目時(shí)捞镰,遇到了一個(gè)問(wèn)題:三行內(nèi)容均未確定高度(自適應(yīng)),三行需要等高且有邊框毙替。之前看過(guò)一篇文章有很多種方案但是不太記得了岸售。今天我自己想到了一種方案:父級(jí)的背景從左到右用漸變色,父級(jí)設(shè)置上下左右邊框厂画,中間三行內(nèi)容的分割邊框用給父級(jí)分別添加before和after偽類來(lái)實(shí)現(xiàn)凸丸。prop()和attr()
關(guān)于jq的prop()方法,它是添加隱式屬性袱院,即添加的屬性不會(huì)新增到dom中屎慢,而attr()添加的屬性會(huì)新增到dom中。這樣可以避免用戶操作dom來(lái)改變一些東西忽洛。特別注意:表單input添加checked屬性使用attr()無(wú)效腻惠,要用prop()才行。user-select: none;
這個(gè)屬性是指欲虚,用戶不能選擇元素中的任何內(nèi)容(一般情況下我們用鼠標(biāo)雙擊或手機(jī)端長(zhǎng)按可以選中文字或圖片集灌,這個(gè)屬性能禁止選中)僅針對(duì)chrome的hack:
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
/* 這里是樣式 */
}
-
今天在項(xiàng)目中寫遞歸,是用到樹(shù)形圖中复哆。假如某個(gè)input是該文件夾唯一一個(gè)選中的元素欣喧,當(dāng)取消選中它時(shí),它的所有父級(jí)全部要取消選中寂恬,這時(shí)就要用到遞歸续誉,思路為:創(chuàng)建一個(gè)函數(shù)為取消選擇,先取消選中父級(jí)初肉,然后調(diào)用函數(shù)本身酷鸦,以父級(jí)為基準(zhǔn)再次取消選中父級(jí),循環(huán)調(diào)用直到父級(jí)不存在為止牙咏。
關(guān)于當(dāng)輸入框在最底部的時(shí)候臼隔,彈起的虛擬鍵盤會(huì)把輸入框擋住的解決方法:
https://github.com/justjavac/the-front-end-knowledge-you-may-dont-know彈性盒模型布局:手淘首頁(yè)在用的
// 只需要給父級(jí)選擇器加,子級(jí)選擇器不需要添加任何盒模型屬性
.parent-selector{
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
}
10妄壶、排除某個(gè)元素添加事件摔握,not選擇器
$(document).on('mouseenter','.navbar li:not([data-mask="hover"])',function(){
$('.mask-cover').fadeOut(100);
});
11、oninput事件
oninput事件是表單(例如input)里面的值發(fā)生變化時(shí)觸發(fā)丁寄。
12氨淌、如何讓瀏覽器直接下載而非預(yù)覽pdf文件泊愧?
<a href="file.pdf" download></a>
貌似不兼容IE8
13、IOS瀏覽器的window盛正、document删咱、body并不接受click事件,按鈕和鏈接才接受click事件豪筝。所以痰滋,在做彈窗時(shí),想要實(shí)現(xiàn)點(diǎn)擊任意位置彈窗消失续崖,需要這樣寫:
$('body>*').on('click',function(){
// code here!
});
14敲街、移動(dòng)端active偽類無(wú)效的解決方法:
需要在按鈕元素或body/html上綁定一個(gè)touchstart事件才能激活:active狀態(tài)。
只需要在body元素上寫:
<body ontouchstart=""></body>