成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【CSS練習(xí)】IT修真院--練習(xí)4-移動端界面

kun_jian / 1084人閱讀

摘要:任務(wù)四一個(gè)最常見的移動端頁面完成的事情完成簡單布局,然后填充界面與效果圖對比優(yōu)化完成驗(yàn)收要求擴(kuò)展性頂欄固定進(jìn)行樣式兼容性研究完成任務(wù)四深度思考跟隨深度思考師兄建議進(jìn)行修改輸入欄左側(cè)換用輸入限制電話位,密碼位根據(jù)結(jié)構(gòu)的語義化修改嘗試下再加一

任務(wù)四、 一個(gè)最常見的移動端頁面 完成的事情

完成簡單布局,然后填充界面

與效果圖對比優(yōu)化

完成驗(yàn)收要求:header擴(kuò)展性 & 頂欄固定

進(jìn)行placeholder樣式兼容性研究

完成任務(wù)四-深度思考

task4跟隨深度思考 & 師兄建議進(jìn)行修改

輸入欄左側(cè)換用label

輸入限制 電話11位,密碼16位

根據(jù)HTML結(jié)構(gòu)的語義化修改index.html

嘗試main下再加一個(gè)div.content用來包裹滾動的內(nèi)容

計(jì)劃的事情

[ ] 任務(wù)五計(jì)劃及完成一部分

[ ] 了解CSS通配符 & 選擇器性能優(yōu)化/瀏覽器渲染原理

[ ] float學(xué)習(xí)(周六學(xué)習(xí))

[ ] 張鑫旭《CSS世界》相關(guān)章節(jié)

[ ] 張鑫旭 float系列

[ ] 深度思考:手機(jī)分辨率和網(wǎng)頁px的區(qū)別(TODO:周末補(bǔ)學(xué))

link1

link2

link3

遇到的問題

FireFox60下placeholder樣式修改失效

input:-moz-placeholder(失效)

input::-moz-placeholder(失效)

input:placeholder-shown(失效)

收獲 一、 布局 & 優(yōu)化

明確效果:一個(gè)寬度自適應(yīng)屏幕的登錄界面

步驟:

1).對目標(biāo)效果GIF進(jìn)行截圖,獲得全屏效果圖、425px效果圖、320px效果圖

2).從PSD文件中導(dǎo)出需要的圖片(phone&lock),并用吸管工具獲取界面背景色#eff0f4、登錄按鈕底色#5fc0cd、input中間小杠顏色#eaedee

3). 開始簡單界面編寫

首先是topbar, 關(guān)閉登錄注冊,分成三列,關(guān)閉靠左登錄居中注冊靠右

布局:可以用float解決靠左靠右剩下一個(gè)在文檔流中居中,不過按照慣例要走新一點(diǎn)的路,所以這里選擇使用flex布局,topbar類設(shè)置justify-conent: space-around,也就是兩端對齊,項(xiàng)目間間隔相等的主軸對齊方式.再設(shè)置align-items: center使三個(gè)項(xiàng)垂直居中.

調(diào)整:

topbar中的文字里邊有距離,這里應(yīng)該用padding做填充撐起外盒,還沒有測量,可以先這是html的font-size再用rem做padding填充.

關(guān)閉登錄注冊剛開始用的是三個(gè)標(biāo)簽,并且做了個(gè)去底線處理,但是中途發(fā)現(xiàn)登錄是個(gè)title而不是鏈接,故篩選大小后暫時(shí)先選用

.

然后是container-form兩個(gè)各占一行的輸入:

布局:由于是左icon右input的布局,所以用flex,并且這是主軸靠左,input設(shè)flex:1,完成大致布局.

左側(cè)icon:有圖片做icon右邊有輸入欄,由于icon是圖片并且有近似等高的同行小杠杠,于是設(shè)計(jì)圖片左右padding+右側(cè)border,看原型圖發(fā)現(xiàn)右側(cè)小杠杠似乎稍高,于是圖片上下也設(shè)置一點(diǎn)padding來撐高右側(cè)小杠杠,之后外面用一個(gè)div包住設(shè)置margin和行高來居中,完成左側(cè);

右側(cè)input:簡單設(shè)置一下padding并去掉border&outline就好,在此順便對placeholder的樣式做一點(diǎn)探究(見下面總結(jié))

接著是container-form的button, 由于button的display是inline-block所以可以控制width,設(shè)置為100%,然后設(shè)置上下padding.然后"登錄"之間有一個(gè)字左右的間距所以加上 

最后是forgetpw,包含文字并且靠右,繼續(xù)用flex,主軸flex-end,交叉軸center.設(shè)置好a標(biāo)簽的顏色樣式

對比優(yōu)化

對比

topbar高度不夠,左右padding稍寬,登錄字體不一樣

輸入左側(cè)icon的橫向padding加一點(diǎn),行高加一點(diǎn)

登錄高度不夠.效果圖"登錄"應(yīng)該是用letter-spacing做間隔的導(dǎo)致沒居中(這個(gè)不改哈哈)

忘記密碼字體過大

GIF效果圖沒有做點(diǎn)擊input顯示"圓圈+x".

處理:這個(gè)裁剪下PSD的圖然后簡單設(shè)置一下就可以簡單加入輸入行了.flex大法好!

完成之后效果如下:

學(xué)習(xí)更多CSS知識之后修改CSS,嘗試可復(fù)用yang"shi:

header使用分三種方案: flex、float+absolute、absolute,可以通過修改header的標(biāo)簽應(yīng)用不同效果.

form-row組建完成一行樣式

二、驗(yàn)收標(biāo)準(zhǔn)

擴(kuò)展性要求:去掉header的三塊文字的任意一兩個(gè),剩下的一兩個(gè)都還在原位置上不會受到影響

一開始用的是flex三列布局,三個(gè)標(biāo)簽按照flex的justify-content: space-between;等距離分成左中右,縱向按照align-items: center;垂直居中,但是這樣的樣式去掉一個(gè)標(biāo)簽布局就會變化,去掉標(biāo)簽的話需要用等長的 來頂上才能保持標(biāo)簽位置不變.

為了滿足擴(kuò)展性要求,將header改為左右float中間正常居中樣式,但是實(shí)測發(fā)現(xiàn)浮動的a標(biāo)簽會占位導(dǎo)致中間的標(biāo)簽不居中(span內(nèi)聯(lián)包圍了float),所以暫時(shí)放棄這個(gè)方案,并計(jì)劃找時(shí)間學(xué)習(xí)float看看有無解決方法.

根據(jù)上面方法進(jìn)行修改,左右使用absolute,中間不變,輕松搞定...

移動端:header始終固定頂部

解決:header加fixed,給定width并設(shè)置top,完成.

效果:

三、 深入思考

position定位有哪幾種?各有什么特點(diǎn) 參考:CSS 相對|絕對(relative/absolute)定位系列

static:默認(rèn)定位

不可層疊,不脫離文檔流

relative:相對當(dāng)前位置定位

不可層疊,不脫離文檔流

相對其正常位置進(jìn)行定位,通過left、right、top、bottom位移

absolute:絕對定位

包裹性:讓元素由原來寬度變成自適應(yīng)內(nèi)部元素的寬度

破壞性:脫離文檔流,令原本占據(jù)的空間坍塌(布局破壞)

定位:相對最近的非static父級定位,如果沒有則繼續(xù)向上查找直到body,通過left、right、top、bottom位移,可通過z-index進(jìn)行層次分級

會生成一個(gè)塊級框

fixed:固定定位

包裹性:讓元素由原來寬度變成自適應(yīng)內(nèi)部元素的寬度

破壞性:脫離文檔流,令原本占據(jù)的空間坍塌(布局破壞)

相對于瀏覽器viewport定位,通過left、right、top、bottom位移,可通過z-index進(jìn)行層次分級

會生成一個(gè)塊級框

inherit:從父類繼承position屬性的值

哪些css屬性可以設(shè)置百分比,其計(jì)算原則是什么?

參考:MDN

計(jì)算原則:百分比*參照值

Tip: 百分比值是一種相對值,任何時(shí)候要分析它的效果,都需要正確找到它的參照值

可設(shè)置屬性

盒模型系列:

content: width(參照包含塊寬度)、height(參照包含塊高度)

padding(參照包含塊寬度)

border

border-radius(參照包自身寬度&高度)

border-image

border-image-slice(參考圖片尺寸)

border-image-width(參考自身寬度&高度)

margin(參照包含塊寬度)

定位系列:

left、right(參照包含塊寬度)

top、bottom(參照包含塊高度)

文本系列:

text-indent(參照包含塊寬度)

word-spacing(參照受影響字體寬度)

text-size-adjust(參考相對應(yīng)文字字號)

font-size(參照包含父元素字號)

flex系列:

flex-basis(參考flex容器大小)

background系列:

background-position(參考背景定位區(qū)域大小-背景圖片大小,其中大小指的是水平偏移的寬度和垂直偏移的高度) 圖例

background-size(相對于定位區(qū)域)

常見的表單元素有哪些?各有什么屬性?

form 表單

屬性

action: 提交表單時(shí)執(zhí)行的動作,可以在此指定某個(gè)服務(wù)器表單處理腳本(如果省略action,action被設(shè)置為當(dāng)前頁面)

method: HTTP方法(GET|POST)

accept-charset:使用的字符集

autocomplete: 自動完成表單(默認(rèn)開啟)

enctype:提交數(shù)據(jù)的編碼

novalidate:規(guī)定不驗(yàn)證表單

target:規(guī)定action屬性中地址的目標(biāo)(默認(rèn)_self,也就是指向當(dāng)前)

input 輸入,可通過改變type變換形態(tài)

屬性 其他屬性參考了解HTML表單之input元素的30個(gè)元素屬性

type: text(文本) | password(密碼,變圓點(diǎn)) | checkbox(復(fù)選框) | radio(單選)

html5新增屬性:color & date & datetime & datetime-local & email & month & number & range & search & tel & time & url & week

datalist(html5) 的預(yù)定義選項(xiàng)列表, input的list屬性引用datalist的id即可關(guān)聯(lián)

子元素option 待選項(xiàng)

label 標(biāo)簽,可以通過for屬性綁定對應(yīng)input的id

select 下拉列表

子元素option 待選項(xiàng)

textarea 多行文本框, 用rows&cols控制大小

button 按鈕,可通過改變type變換作用

屬性type: button(按鈕) | sumbit(提交) | reset(重置)

fieldset 表單外框

子元素legend 表單外框名稱

如何理解HTML結(jié)構(gòu)的語義化? 參考:理解HTML語義化

含義:標(biāo)簽有特定的意義,即內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標(biāo)簽(代碼語義化). 例如header指頁面頂部欄,nav指導(dǎo)航欄.

意義:

代碼結(jié)構(gòu)優(yōu)雅,便于閱讀理解文檔布局,便于開發(fā)合作維護(hù)

爬蟲解析方便

用戶體驗(yàn) & 特殊設(shè)備解析(title、alt的信息注釋)

最佳實(shí)踐:

少用無意義的div&span, 無特定意義時(shí)盡量用p取代div

純樣式標(biāo)簽用CSS替代

表格標(biāo)題用caption,表頭用thead&th,主體用tbody&td,尾部用tfoot包圍.

每個(gè)input標(biāo)簽的對應(yīng)的說明文本都要使用label標(biāo)簽,通過設(shè)置label的for=(input"s id)即可關(guān)聯(lián)

使用fixed的時(shí)候,在手機(jī)上查看是否會有問題,怎么解決?

這部分個(gè)人經(jīng)驗(yàn)不足,在網(wǎng)上找部分案例和解決方法

1)Web移動端Fixed布局的解決方案

問題圖片:

問題描述:設(shè)置好上下fixed,中間普通margin與上下隔開.下拉列表超過一頁,點(diǎn)擊輸入框,在軟鍵盤喚起之后頁面底部的fixed元素將失效.

問題原因:軟鍵盤喚起之后,頁面fixed元素將失效,當(dāng)頁面超過一屏并滾動時(shí),失效的fixed元素也會隨之滾動.

問題解決:

思路:如果當(dāng)前層級頁面不滾動,那么即便fixed元素失效也無法隨頁面滾動.

修改:中間使用absolute與上下隔開,并且y軸設(shè)置可滾動(如果出現(xiàn)滾動卡頓,可以加入-webkit-overflow-scrolling:touch【非標(biāo)準(zhǔn),用于SafariMobile】)

2) 其他一些問題處理

輸入框focus后被軟鍵盤遮擋,可以嘗試input的scrollIntoView.

iOS可能有坑:軟鍵盤遮擋輸入框然后在輸入一條文字后重寫顯示輸入框

最好將header和footer的touchmove事件禁止,防止出發(fā)瀏覽器全屏模式切換導(dǎo)致header和footer被工具欄遮蔽.

滾動到頁面上下邊緣時(shí)繼續(xù)拖拽會將view拖走導(dǎo)致頁面"露底".可以做一些確認(rèn)邊緣的判斷來阻止touchmove事件的發(fā)生.

常見的移動端登錄頁header有哪些實(shí)現(xiàn)方式?

沒找到類似的文字,總結(jié)一下我用到的

簡單通用flex,水平三分垂直居中

特點(diǎn):簡單好用適合布局,但是刪除元素會導(dǎo)致布局破壞

左右float中間自動

特點(diǎn):使用簡單,但是布局上個(gè)人不太喜歡用float

左右absolute中間自動

特點(diǎn):暴力, 穩(wěn)

四、探究input標(biāo)簽的placeholder樣式

結(jié)果如下

/* Webkit瀏覽器支持(非標(biāo)準(zhǔn)) https://developer.mozilla.org/zh-CN/docs/Web/CSS/::-webkit-input-placeholder */
.form-raw input::-webkit-input-placeholder {
  color: #aaa;
}
/* Chrome:57+已支持去前綴 https://www.chromestatus.com/feature/6715780926275584 */
.form-raw input::placeholder {
  color: #aaa;
}
/* IE10+支持  https://developer.mozilla.org/zh-CN/docs/Web/CSS/:-ms-input-placeholder */
.form-raw input:-ms-input-placeholder {
  color: #aaa;
}
/* Firefox 4-18 */
.form-raw input:-moz-placeholder {
  color: #aaa;
}
/* 很奇怪, FireFox60實(shí)測不支持 */
/* Firefox 19+(非標(biāo)準(zhǔn)) https://developer.mozilla.org/zh-CN/docs/Web/CSS/::-moz-placeholder*/
.form-raw input::-moz-placeholder {
  color: #aaa;
}
/* 實(shí)驗(yàn)中特性 https://developer.mozilla.org/en-US/docs/Web/CSS/:placeholder-shown */
.form-raw input:placeholder-shown {
  color: #aaa;
  /* border: 2px solid red; */   /* border有效并且只有在Firefox有效*/
}

效果

Github

線上展示

系列文章

【CSS練習(xí)】IT修真院--練習(xí)1-九宮格

【CSS練習(xí)】IT修真院--練習(xí)2-開發(fā)工具

【CSS練習(xí)】IT修真院--練習(xí)3-簡單界面

【CSS練習(xí)】IT修真院--練習(xí)4-移動端界面

【CSS練習(xí)】IT修真院--練習(xí)5-護(hù)工個(gè)人界面

【CSS練習(xí)】IT修真院--練習(xí)6-護(hù)工列表界面

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/113461.html

相關(guān)文章

  • CSS練習(xí)IT真院--練習(xí)1-九宮格

    摘要:用于顯示日志信息及輸入一些命令請求監(jiān)聽??色@得請求列表,點(diǎn)開某一項(xiàng)將看到數(shù)據(jù)頭部數(shù)據(jù)。包含本次請求的請求方法狀態(tài)碼請求服務(wù)器的地址其他一些設(shè)置響應(yīng)頭部包含用戶代理,幫服務(wù)器識別設(shè)備用預(yù)覽。 九宮格——用html+css制作一個(gè)網(wǎng)頁 一. 目標(biāo)效果: showImg(https://segmentfault.com/img/bVbbxBA?w=872&h=644); 二. 效果描述 圓角...

    Tecode 評論0 收藏0
  • CSS練習(xí)IT真院--練習(xí)3-簡單界面

    摘要:任務(wù)三一個(gè)最簡單的移動端頁面今天完成的事情運(yùn)用布局知識跟隨設(shè)計(jì)圖進(jìn)行布局,完成簡單并繼續(xù)學(xué)習(xí)優(yōu)化讓布局更好適應(yīng)屏幕變化使用了盒模型及百分比了解區(qū)別在中應(yīng)用圖片處理學(xué)習(xí)明天計(jì)劃的事情深度思考手機(jī)分辨率和網(wǎng)頁的區(qū)別周末補(bǔ)學(xué)任務(wù)四計(jì)劃及簡單編寫遇 任務(wù)三、 一個(gè)最簡單的移動端頁面 今天完成的事情 運(yùn)用布局知識跟隨設(shè)計(jì)圖進(jìn)行布局,完成簡單Demo并繼續(xù)學(xué)習(xí)優(yōu)化. 讓布局更好適應(yīng)屏幕變化(使用...

    MrZONT 評論0 收藏0
  • CSS練習(xí)IT真院--練習(xí)2-開發(fā)工具

    摘要:任務(wù)二認(rèn)識開發(fā)工具今天完成的事情編輯器對比版本管理工具學(xué)習(xí)基本操作代碼托管平臺對比服務(wù)器使用學(xué)習(xí)明天計(jì)劃的事情分析任務(wù)三完成規(guī)劃及部分開發(fā)遇到的問題暫無收獲編輯器對比參考三者比較,各有哪些優(yōu)勢和弱勢一款成熟的,對網(wǎng)站開發(fā)者友好,插件齊全功能 任務(wù)二. 認(rèn)識開發(fā)工具 今天完成的事情 IDE & 編輯器對比 版本管理工具學(xué)習(xí) Git基本操作 代碼托管平臺對比 服務(wù)器使用學(xué)習(xí) 明天計(jì)劃的...

    _ang 評論0 收藏0
  • CSS練習(xí)IT真院--練習(xí)6-護(hù)工列表界面

    摘要:任務(wù)六護(hù)工列表頁完成的事情規(guī)劃任務(wù)六完成基本界面編寫計(jì)劃的事情限制最小寬度使用雪碧圖替換當(dāng)前的多張圖片引入完成模擬下拉框編寫屏幕過窄時(shí),列表項(xiàng)左邊文字被截?cái)喑霈F(xiàn)省略號復(fù)習(xí)之前的代碼規(guī)范,優(yōu)化代碼查看驗(yàn)收標(biāo)準(zhǔn)查看深度思考遇到的問題收獲頁面原生 任務(wù)六、 護(hù)工列表頁 完成的事情 1.規(guī)劃任務(wù)六2.完成基本界面編寫 計(jì)劃的事情 [x] 限制最小寬度 [x] 使用雪碧圖替換當(dāng)前的多張圖片引入...

    Sleepy 評論0 收藏0
  • CSS練習(xí)IT真院--練習(xí)5-護(hù)工個(gè)人界面

    摘要:任務(wù)五一個(gè)最常見的移動端頁面完成的事情學(xué)習(xí)張鑫旭世界相關(guān)章節(jié)張鑫旭系列了解通配符選擇器性能優(yōu)化瀏覽器渲染原理學(xué)習(xí)各屬性及效果完成任務(wù)五學(xué)習(xí)編碼規(guī)范編碼規(guī)范并按照編碼規(guī)范優(yōu)化代碼完成深度思考計(jì)劃的事情找時(shí)間把前面任務(wù)的官方提供鏈接過一遍,查缺 任務(wù)五、 一個(gè)最常見的移動端頁面 完成的事情 float學(xué)習(xí) 張鑫旭《CSS世界》相關(guān)章節(jié) 張鑫旭 float系列 了解CSS通配符 &...

    Jonathan Shieber 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<