码迷,mamicode.com
首页 > 移动开发 > 详细

实习期间移动端做时总结

时间:2016-07-13 21:17:21      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:

 
技术分享
图片要显示成设计稿的样式(图片名为:inset.png)
技术分享
但实际上在psd裁剪出来后,图片的大小是773X305px
为了让图片显示出与设计稿一样的效果
即代码这样写:
1 <div class="pic"></div>
2 .pic{
3     background: url(../i/inset.png) 0 0 no-repeat;
4     width: 386.5px;/*no*/设计成了原来图片宽度的一半
5     height:157.5px;/*no*/ 设计成了原来图片高度的一半
6     background-size: cover;
7 }
2、外层的div高度无法被内层的内容撑高
可能原因是内层元素里面有浮动,有3种方法可以解决:
第一种:在外层的div设置样式overflow:auto;但是这样只会模拟时会发现了一旦内容变多,侧边出现滚动条,体验不好,不推荐。
第二种:在外层div里找到有浮动的内容,在浮动内容后加<div style="clear:both"></div>,但是会增加新的空div,也不是很好。
第三种:定义一个伪类
1 .clearfix{*zoom: 1;}
2 .clearfix:after{display: block;height: 0;clear: both;font-size: 0;content: "";}

在外层的本来的div增加clearfix类,

<div class="box clearfix">...</div>
3.在做评论区时,想要让每条评论区都是一个大的div,然后每个div之间的线通过border-bottom来实现,刚开始不行,用了一个空的div,写死了固定高度撑高div来实现:
html代码如下:
   
 1 <div class="comment">
 2  
 3            <div class="left">
 4              <img src="../i/person2.png" class="person">
 5            </div>
 6  
 7            <div class="right">
 8               <div class="info">
 9                  <p class="username">冰棒汽水</p>
10                  <p class="date" style="padding-left:100px">2016/06/29</p>
11                </div>
12                <div class="critics">中国的厚度很厚,但是尖子不多。缺少像韩国一样的朴、石定海神针之类的人物。
13               <div class="input">
14                   <div class="input-info">
15                    <p class="input-username">冰棒汽水</p>
16                    <p class="input-date">2016/06/29</p>
17                  </div>
18                   <div class="input-critics">中国的厚度很厚,但是尖子不多。缺少像韩国一样的朴、石定海神针之类的人物。
19                </div>
20                 </div>
21             </div>
22         </div>
23        </div>

css代码如下:

 1 .person{
 2     width:76px;
 3     height:76px;
 4     border-radius: 50%;
 5     float: left;
 6     margin:30px 0 30px 30px;
 7 }
 8 .right{
 9     float: left;
10 }
11 .info{
12     margin-top: -40px;
13     padding-left: 20px;
14 }
15 .username,.input-username{
16     display: inline;
17     font-size: 26px;
18     font-weight: bold;
19  
20 }
21 .date,.input-date{
22     font-size: 24px;
23     display: inline;
24 }
25 .date{
26     color: #b2b6b7;
27     padding-left: 95px;
28 }
29 .critics{
30     font-size: 24px;
31     width: 475px;
32     padding-left: 20px;
33 }
34  

请教了吴太发现,由于是因为大的div里面的内容设置了float:left,相当于原来一个盒子里装着没有浮动的正常元素,当元素浮动时,就飘到上面了。。此时要想让元素重回盒子中,撑高盒子,需要加个伪类,即在

 <div class="comment clearfix">
 .... 
</div>
 就可以完成了 !
 
发表评论的问题
 
技术分享

 

技术分享
设置下面发表评论的class为publish的div位置为fixed,bottom:0;固定在页面底部,此时发现问题:会挡住上面的更多评论部分
 
原始的html代码:
1 <div class="more-com">
2      <p>更多评论</p>
3      <img src="../i/more_btn.png" class="more-btn">
4  </div>
5  <div class="devide1"></div>
6 <div class="publish">
7          <input type="text" class="speak" placeholder="发表评论...">
8          <div class="send"></div>
9 </div>
原始的css样式:
 1 /*更多评论*/
 2 .more-com{
 3     font-size: 24px;
 4     /*float: left;*/
 5     width: 160px;
 6     margin:20px 250px;
 7     height:36px;
 8  
 9 }
10 .more-com p{
11     float: left;
12     font-size: 24px;
13 }
14 .more-btn{
15     display: inline;
16     padding-left: 10px;
17 }
18 .publish{
19     width:100%;
20     height: auto;
21     margin: 0 auto;
22     position: fixed;
23     bottom:0;
24     z-index: 0;
25    
26     border-top: 1px solid #DEE6E8;
27     border-bottom: 1px solid #DEE6E8;
28     padding-bottom: 20px;
29 }
30 .speak{
31     width: 480px;
32     height:60px;
33     line-height: 60px;
34     font-size: 24px;
35     border: 1px solid #DEE6E8;/*no*/
36     background-color: #EEEEEE;
37     float: left;
38     margin:20px 0 0 40px;
39  
40 }
41 .send{
42     background: url(../i/send.png) 0 0 no-repeat;
43     width: 46px;
44     height:46px;
45     background-size: cover;
46     float: left;
47     margin:30px 0 0 30px;
48     cursor: pointer;
49 }

这样就会遮住!!

原因是more-com是一个盒子,为了让里面的p元素和按钮图片在同一行,所以给p添加了float:left;给图片添加了display: inline;的样式,但是在more-com上又有float:left样式,使整个都飘起来了,去掉这个样式,使大的div回归正常的状态,里面包裹着在同一行的元素
 
解决方法:去掉more-com上面的float-left;(上述css红色字显示)
 
3.移动端适配的时候发现左右水平方向竟然有滚动条,后来找到原因是这个:
中间的分隔条
 
技术分享
1 代码:<div class="devide"></div>
2 css格式:
3 .devide,{
4     height:24px;
5     width: 100%;
6     border:1px solid #DEE6E8;
7 }
8  
这里就涉及到了盒子模型分为2种:标准模式和怪异模式下
 
标准模式下:盒子总宽度/高度=width/height+padding+border+margin
怪异模式下:盒子总宽度/高度=width/height + margin
 
所以div的宽度加上了左右两侧的border,导致出现水平方向的左右滚动条
解决方法:其余代码一样,border部分改为border-top:1px solid #dee6e8;和border-bottom:1px solid #dee6e8;

实习期间移动端做时总结

标签:

原文地址:http://www.cnblogs.com/wen-0503/p/5667765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!