51先在學校HTML5已經有半個多月了,然后這個星期做了一個京東的手機網站,接觸到了通用樣式,下面以京東的手機站為例
這兩個就是京東手機站了的不同的兩個板塊,因為HTML5僅僅只是學完了基本標簽跟css的標簽,所以在沒有接觸通用樣式之前很可能就是這兩個板塊就是兩個不同的代碼了,然后就會導致css文件里面的代碼會非常的多,也會是比較混亂的,不能夠清楚明了的看懂。而且應用的通用樣式就是可以用一套代碼來搞定各個類似板塊,並且每個板塊不同的地方僅僅需要微調就可以了。這樣不僅僅使代碼明了,而且還會很省事,也會減少工作量。
這個就是上面兩個板塊所對應的css通用樣式代碼
.strong{
font-size: 16px;
line-height: 16px;
color: #181818;
}
.p{
height: 20px;
font-size: 12px;
line-height: 20px;
float: left;
width: 50%;
color: #686868;
overflow: hidden;
}
.span{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #FF4A7D;
float: left;
margin-left: -80px;
margin-top: 20px;
}
/*享品質與逛商場里的文字*/
.span1{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #952DFF;
float: left;
margin-left: -80px;
margin-top: 20px;
}
.span2{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #0072F2;
float: left;
margin-left: -80px;
margin-top: 20px;
}
.s1{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #FF4A7D;
float: left;
/*margin-left: -80px;*/
margin-top: 20px;
position: absolute;
bottom: 10px;
z-index: 1;
left: 10px;
}
.s2{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #952DFF;
float: left;
/*margin-left: -80px;*/
margin-top: 20px;
position: absolute;
bottom: 10px;
z-index: 1;
left: 10px;
}
.s3{
font-size: 12px;
color: white;
padding: 1px 4px;
background-color: #0072F2;
float: left;
/*margin-left: -80px;*/
margin-top: 20px;
position: absolute;
bottom: 10px;
z-index: 1;
left: 10px;
}
.row{
width: 100%;
background-color: white;
border-bottom: 1px solid #F7F7F7;
overflow: hidden;
}
.row .col2{
float: left;
width: 50%;
border-right: 1px solid #F7F7F7;
padding: 10px;
overflow: hidden;
}
.row .col2 img{
width: 50%;
float: right;
/*margin-top: -27px;*/
}
.row .col4{
float: left;
width: 25%;
border-right: 1px solid #F7F7F7;
padding: 10px;
overflow: hidden;
position: relative;
}
.row .col4 .p{
width: 90%;
}
.row .col4 img{
width: 95%;
}
像這個也是
.sp3{
border: 1px solid #E7E7E7;
color: #686868;
float: right;
margin: 5px;
width: 50px;
height: 25px;
padding: 3px 3px;
}
.sp2{
height: 20px;
font-size: 12px;
line-height: 20px;
float: left;
width: 50%;
color: #686868;
overflow: hidden;
}
.sp1{
font-size: 12px;
color: #181818;
padding: 1px 4px;
float: left;
}
.d2{
width: 100%;
background-color: white;
border: 1px solid #F7F7F7;
overflow: hidden;
}
.d2 .dd{
width: 50%;
float: left;
border: 1px solid #F7F7F7;
}
.d2 .dd p{
color: #F23030;
font-size: 17px;
}
.d2 .dd img{
width: 90%;
float: left;
}
通用樣式不僅僅在手機站上應用,在電腦站跟響應式上面同樣適用
星巴克的網站:像下面的圖片跟文字就可以用
#jingxuan .jingxuan .tu{
width: 100%;
/*height: 310px;*/
display: flex;
justify-content: center;
flex-wrap: wrap;
}
#jingxuan .jingxuan .tu img{
width: 240px;
height: 160px;
}
#jingxuan .jingxuan .tu div{
width: 240px;
height: 280px;
margin: 15px;
/*background-color: #fff;*/
box-shadow:0 0px 2px #ccc ;
font-weight: 400;
}
#jingxuan .jingxuan .tu .p3{
line-height: 28px;
text-align: center;
font-size: 18px;
margin-top: 15px;
color: #2F2F2F;
font-weight: 700;
}
#jingxuan .jingxuan .tu .p4{
line-height: 28px;
text-align: center;
font-size: 14px;
margin-bottom: 14px;
color: #707175;
/*font-weight: 700;*/
}
#jingxuan .jingxuan .tu div:hover{
box-shadow:0 1px 5px #ccc;
}
#jingxuan .jingxuan .tu div:hover p{
color: #A98E67;
}
css小隨筆(二)
一、CSS偽類選擇器
1、寫法:偽類選擇器,在選擇器后面,用:分隔,緊接偽類選擇器狀態;(權重:10)
2、超鏈接的偽類狀態:
:link ——未訪問狀態 :visited——已訪問狀態
:hover——鼠標指上去狀態 :active——激活選定狀態(鼠標點下未松開)
注意:當超鏈接多種偽類狀態同時存在時,必須按照link-visited-hover-active的順序,否則會導致部分選擇器不生效
3、input的偽類狀態
:hover :focus——獲得焦點狀態 :active
注意input的多種狀態同時存在時,必須按上面的順序
4、其他標簽,基本只用:hover事件
二、css盒模型
1、margin:外邊距
①只寫一個值:表示四周的外邊距均為指定值
②寫兩個值:表示第一個數為上下外邊距,第二個數為左右外邊距
③寫三個值:分別表示上右下三個方向,左邊默認等於右邊
④寫四個值:表示上右下左四條邊順時針方向;
⑤margin:0 autou: 設置塊級元素,在父容器中水平居中!!!!
2、padding:內邊距
設置方式與margin完全相同
注意:設置padding,將會導致div區域被撐大!!!!
使用時必須注意div實際的寬高為多少!!!!
3、border:邊框
①設置邊框需要三個屬性:寬度 樣式 顏色
原則上,三個屬性缺一不可,順序可以隨意顛倒
②可以使用top、right、bottom、left分別設置四個邊
4、當父盒子包裹子盒子,給子盒子添加margin-top時,子盒子與父盒子的上邊線並不總能分開, 而是會導致,兩個盒子同時下來。
【解決辦法】
①給父盒子添加padding-top;不推薦使用,會導致父盒子結構多余1px padding
②給父盒子添加1px的border-top;同樣會導致1px的多余空間,不推薦使用
③給父盒子與子盒子添加浮動;可能會由於浮動一定程度的影響頁面布局
④給父盒子添加overflow屬性;推薦使用的方式
5、border-radius 圓角
①border-radius可以接受8個屬性值,分別表示:
X軸(左上 右上 右下 左下)
Y軸(左上 右上 右下 左下)
eg:border-radius:10px 20px 30px 40px/10px 20px 30px 40px;
②縮寫形式:
只寫x軸,Y軸默認等於X軸
四個角寫不全,默認對角相等
只寫一個值,默認8個屬性全相等
eg:border-radius:10px 20px;=border-radius:10px 20px 10px 20px;
=border-radius:10px 20px 10px 20px/10px 20px 10px 20px;
③當圓角弧度>=正方形邊長的一半,江湖顯示圓形
6、border-image· 圖片邊框
①border-image一共可以放是個屬性值
a、圖片路徑: url()
b、圖片的切片寬度:四個值,分別代表上右下左四條邊;
通過四條切線切割后,可以將圖片分為九宮格。9宮格四個角分別對應邊框的四個角(不會進行任何拉伸),9宮格四個邊分別對應四條邊框(會根據設置進行拉伸/平鋪/重復等操作)
注意:寫的時候不能帶px單位
c、邊框的寬度,四個值,分別代表上右下左四條邊的寬度
注意:寫的時候必須帶px單位,與切片寬度用/分隔
d、邊框的重復方式:stretch(拉伸)、round(鋪滿)、repeat(重復)
【round與repeat的區別】
round:會對四條邊進行適當的拉伸壓縮,確保四條邊以正數重復
repeat:會保持每條邊的寬度成都比例不變,
可能導致四角處無法顯示一條完整的邊
②屬性值寫法:border-image:a、 b、/c、px d、;
③border-image在webkit內核中的瀏覽器中,必須帶-webkit-前綴
7、box-shadow:盒子陰影
①6個屬性值,空格分隔
a、X軸陰影距離(必選):可正可負,正右左負
b、Y軸陰影距離(必選):可正可負,正下左上
c、陰影模糊半徑(可選值):只能是正數,默認為0,數值越大,陰影越模糊
d、陰影的擴展半徑(可選值):可正可負,默認為0,
數值越大,陰影擴大;數值越小,陰影越小
e、陰影顏色(可選值):默認為黑色
f、內外陰影(可選):默認為外陰影,inset為內陰影(沒有outset,默認就是)
outline 外圍線:顯示在border外面,並且不會占用空間,可能會覆蓋四周內容
eg:outline: 20px solid red;