百度新聞首頁的方案:
td> |
… |
html結構醜陋,但css簡單。
新浪微博首頁的方案:
CSS:
.twit_list dd .twit_item_pic{float:left;width:66px;padding-top:2px;} .twit_list dd .twit_item_content{float:left;width:316px;color:#666; >
大部分應試者都是這個答案。用了浮動就必須定寬,結構就失去彈性,同時必須解決浮動帶來的一連串問題。
網易首頁方案:
CSS:
.list-figure { float: left; _display: inline; width: 130px; margin-left: -140px; margin-top: 6px; }
這些寫法都是欠缺對css基本概念的理解。如果理解block formatting context(區塊層級格式化上下文)的概念, 就不會這麼寫了。觸發了BFC的區塊級元素,它的邊緣不會和float box重疊。
建議的方案:
CSS:
.item .pic { float:left;margin-right:10px; }
.item .content { overflow:hidden;zoom:1; } /* 或用display:table-cell */
我寫了一個實例
="X-UA-Compatible" content="IE=edge,chrome=1">
"text/css">
body {
邊距: 0;
背景顏色: #f3f3f3;
字體:16px/1.7 Arial, Helvetic a、無- 顏色:#5a5a5a
}
文字裝飾: 無
}
:center
}
ul{邊距: 0;填色: 0}
h3{行高: 1.7;邊距: 0}
.item .pic { float:left;margin-right:10px; }
.item .content { 溢位:隱藏;縮放:1; } /* 或用display:table-cell */
總結
使用的不是技術,更多是技巧
由於在學校裡沒有系統的前端開發課程,導致對html/css/javascript基本概念的理解非常薄弱。大部分人的學習方式是:先看書,然後覺得書和實踐離得很遠就直接實踐,遇到問題就去網上搜,而搜到的基本都是「技巧」性的東西。或是跟著學校裡的「牛人」學,摻著各種好的、壞的經驗全盤接受。例如實現一個左圖右內容的顯示效果,寫出html和css(見下圖)。這是我的一道筆試題,看起來很簡單吧。但是還沒有人答出最佳答案。如果去網路上看,國內那些大網站們是怎麼實現的,就不能怪他們了。