寫前端頁面的時候,是先把html骨架寫好再寫css,還是一邊寫html,一邊寫css?

我有一點疑問,就是我感覺寫前端的頁面的時候,先寫html骨架再寫css修飾,是不是會跟快點?譬如一開始就把頁面上的所有的圖片和文字放進去(根據PSD圖判斷應該有的html骨架),然後再從上往下給html添加類。


我以前都這樣寫:

第一步,先寫整頁框架,例如左右分欄,上下分欄,頭尾等的html結構。然後寫對應的樣式。

第二步,拆分模塊,一個一個模塊寫html,然後寫css,並且套到對應的整體結構中。

第三步,細節調整,整體聯調樣式。

js呢,其實也可以按照模塊寫。

這樣做的一個好處是,你一個人的工作完全可以無縫拆成多個人的工作。所以當主導一個很重的頁面的改版的時候,這種方式讓多人協作受益良多。


多寫,不在於方式在於姿勢。


先寫骨架並把類寫好,然後再去寫CSS。

以我自己為例,我們公司的設計不是一次交活的,設計團隊會先給出一個大概得布局,開發團隊根據布局先把骨架寫好,然後等設計團隊完成所有的設計並給出文檔後再具體調整樣式。


瀉藥這個問題有意思,我想了想以前寫頁面的時候。開始的時候好像比較喜歡邊寫 html 邊寫 css,到後來慢慢的喜歡把某一塊的 html 寫完,再寫 css 了,類似填天窗……


先寫框架HTML,Component可以簡單拿div, span, 甚至img代替一下,因為設計會變。

然後寫框架層的CSS,如果能用bootstrap, pureCSS等也可以,點到為止,不要實現任何視覺設計的元素,因為設計會變。

記得一定要跟設計組要一份單獨的組件的visual style guide,因為設計變化的時候,layout和visual只需要更新各自就行了。

最後的最後,再單獨寫一份css定義visual design。因為產品敲定/交付/上線以後,設計會變!!!


『橫切,豎切,切得快准狠就是好切。---匿名 』

在切圖前,需要做的一些準備工作:

你需要有一個屬於你自己Grid System,如果你是Sass Person,可以使用Susy或者Jeet Grid System ,後者更加輕量級一點。

Jeet Scss Example

.col-7-12{
@include column(12/12);
.push-7 {
@include unshift();

}

.pull-7 {
@include unshift();

}
}
.col-5-12{
@include column(12/12);
.push-5 {
@include unshift();

}

.pull-5 {
@include unshift();

}
}

你需要有所了解BEM, 存貨:

http://bem.github.io/bem-method/html/all.en.html

BEM 101 | CSS-Tricks

很多圖友在切圖時,不知道如何命名class,BEM很好的規範了如何給class起名和HTML結構。

製作純靜態頁面的話,Jade對你很有幫助Jade - Template Engine

使用類似於Normalize.css: Make browsers render all elements more consistently. 的東東幫你重置browser rendering。

以上準備完畢就可以切圖了。推薦使用Atom, Brackets, Sublime等

開始切圖

1. 遵循BEM規範,建立對應HTML tag以及 classes,同時把預先準備好的grid system填補上去,

Example HTML:

&
&
&
& & &
&
&&
& &

    &&Pricing&& &&Features&& &&Blog&& &&Sign in&& &&Join us!&& & & &

    因為有了BEM規範了HTML class,所以在寫CSS的時候會輕鬆許多,如果使用CSS preprocessor效果更加。

    2. 已經有了基本的HTML Skeleton以及對應的grid system,下一步就是CSS拉。

    為了提高效率和增加重複使用率,可以使用Sass的mixin和extend功能,

    Example Scss:

    @mixin serif($normal:false, $heading: false){
    @if $normal {
    font-family: "font-name", Georgia, serif;
    } @else {
    font-family: "alt-font-name", Helvetica, Arial, san-serif;
    }
    @if $heading {
    font-weight: 700;
    } @else {
    font-weight: 400;
    }
    }

    3.使用PerfectPixel PerfectPixel by WellDoneCode 等瀏覽器插件,增加網頁精確度以及優化CSS。

    總結:

    切圖前最好也相對了解整個網站和產品的Structure,這樣可以更好的構建HTML和規範BEM。慢慢切多了就會總結一套對自己行之有效的方法。希望以上對你有幫助。


    我反正是兩個一塊寫的,有時候心情好,順便實現一點簡單的js


    HTML 和 CSS 一般是同時寫的。

    先拆分成大塊的布局,然後逐步拆分細化,最後精確到像素。


    學習開發:

    混起來寫,逐步看效果。最後重構一遍。

    成熟開發:

    (js和後端api框架)&>特定項目html&>相應css&>相應js&>相應後端邏輯,依次。


    瀉藥,

    1、花點時間審稿很重要,一看結構二看公私有樣式。

    2、心中有數先出結構;

    3、樣式後續


    首先,寫CSS通用架構。

    包括:

    1 元素統一配置,padding margin display等,抹平瀏覽器差異。

    2 布局和柵格系統。

    3 資源,字體圖標什麼的。

    然後,根據頁面設計,提取從通用的風格樣式,作為主題樣式。

    再之後,是一些強調性樣式,如特殊顏色字體設么的。

    到此為止,都是公共樣式,在項目開始時就應該完成。

    最後,是頁面專有樣式,根據頁面設計寫。

    按照這樣的流程,拿到一個頁面後首先考慮的是頁面結構的劃分,標題 導航 正文 側欄等

    然後考慮的是布局,盡量用公共CSS實現,一般來說柵格系統套用都可以做到。

    風格樣式也盡量用項目的主題實現。

    最後剩下的部分才是需要寫的CSS。

    最後的結論是,從整個項目來說,是先有的CSS樣式,後有的具體HTML頁面。

    但是就單個頁面來說,的確是先寫HTML,後寫CSS。

    如果沒有事先寫好的公用CSS,個人傾向於先寫公用CSS,再寫頁面。


    額。。邀請也要按照基本法

    上面這麼多答案還不滿意么。。。

    好吧,我說個不一樣的:

    工程型項目的時候,會先寫CSS / LESS,設計稿中很多東西和框架是完全不同的,比如框架中定義的留白是20px,而實際工程中邊距是15px,甚至手機留白按照百分比計算(0.5%),而同樣的頁面PC留白是固定像素,這樣的話需要在設計稿出來的時候進行分析的時候統一處理

    於是我們有了所謂的預處理,包括但不限於以下樣式:

    * { font-family : "黑體", sans-salf; ... } // 全局樣式,通常會進行字體設置
    h1 ~ h6 { font-size : xx; } // 文字樣式,通常會進行響應式的調整
    ul { list-style : none; } // 最常用的去除所有無序列表前綴
    a { color : #333; } // 系統默認的藍色鏈接樣式實在是太煞風景
    ... { ... } // 以及更多

    啊,以上只是舉個例子,更有甚者。。。

    好吧,稍微有點跑題,這已經不僅僅是寫一個頁面的事情了。。。摺疊我吧


    個人愛好。

    我喜歡看一下交互圖,然後腦海中大概分析下怎麼解決。

    然後 把html 結構寫出來後 再去補充css。

    不過中間會有折回。。。

    比如 上訴的正常的方法是

    分析-&>找到一個解決辦法-&>寫html-&>寫css-&>寫js。

    經常 寫css時發現,這種css不好 或者 不通用 或者 不能解決問題。

    這時候就去從新 分析-&>,,,,,,,

    這是我的個人愛好,,


    先寫html,然後用我寫的這個工具生成less html2less


    我通常,在大致框架構思好以後,用PS做出來,然後寫代碼慢慢調整。


    先不是寫代碼,是分析設計,哪些模塊有通性可重用,怎麼分割怎麼起名,以後有什麼拓展的可能性…

    打好以上腹稿,我會先寫HTML,從全局框架到分割好的小模塊,從通用模塊如頁頭頁腳到比較獨特的模塊,從首頁列表頁內容頁同類型的一起寫,不同後台需要的結構可能還不一樣…

    然後寫CSS,一邊寫一邊會檢查HTML結構有沒有疏漏,兼容性能不能做好,有的話進行調整。先寫比較通用的標籤的樣式,再細化到不同模塊,覆蓋插件的初始樣式。然後魔法就來了,有些模塊只要覆蓋個別樣式就能完成。

    通常會最後寫JS,同時會寫因為操作dom所需要的一些CSS樣式,這時HTML就基本不需要動了。


    當然是先寫html 然後再css 這個叫分治法


    先布局,然後每一個區域寫完html就寫相對應的css


    這個得有區分,根據具體項目以及在項目中所處的位置。

    一個人寫頁面的時候,如果是大型項目,先寫css框架,以及一些公用的樣式, @felixgrey 說的就不錯;讓後,分模塊寫css,再寫html;如果是小頁面,建議先考慮布局,可以先在紙上畫清楚,然後寫css,再寫html;當然,如果為了鍛煉自己的布局能力,你也可以把小頁面當做大項目來寫。

    團隊合作的話,就不是先寫哪樣,後寫哪樣啦。是先得商量,將整個項目設計的前端頁面拆開,然後確定寫的順序。

    如果你習慣了,而且效率不錯,就別執拗於順序了。都一樣。但重要的是,一定得分模塊。


    熟練了閉著眼睛寫。


    推薦閱讀:

只用 CSS 能玩出什麼花樣?
前端工程師目前境況和三年後的發展狀況會怎麼樣呢?
要實現一個Web IDE 需要哪些前端技術?
怎麼評價國產框架MUI跟ReactNative的對比帖?
網頁上長得令人髮指的id和class是用什麼實現的,又是基於怎樣的原因?

TAG:前端開發 | HTML | CSS | DivCSS |