通过这次任务的练习我学到了很多,现将所学到的以及遇到的问题总结如下。

源码地址:http://pan.baidu.com/s/1kVB2VZL

下面出现的代码,都是摘自这个上面的源码

1、终于明白了absolute,relative,float的用法了,这三者结合在一起真的很强大。当然要注意的就是清除浮动了。

清除浮动所用的代码:

.clearfix {
*zoom:;
}
.clearfix:before, .clearfix:after {
display: table;
line-height:;
content: "";
}
.clearfix:after {
clear: both;
}

2、input元素当你用鼠标点击后,外面可能会出现一个方框,你可以使用下面的清除:

outline: none;

3、对于button元素,你设置了背景后,点击的时候周围会出现方框,如果你想去掉方框的话:

border: none;

4、即使你设置了元素的大小,但是,当你添加内容或者设置padding,margin的时候,又会发生改变,从而你得再次修改。不过这时你可以使用box-sizing,css中有一篇就是专门讲这个的,要注意不同的浏览器。

-moz-box-sizing: border-box;  /*Firefox3.5+*/
-webkit-box-sizing: border-box; /*Safari3.2+*/
-o-box-sizing: border-box; /*Opera9.6*/
-ms-box-sizing: border-box; /*IE8*/
box-sizing:border-box;

5、before, after这两种伪元素的使用。可以用在添加图标啊,或者hover的时候,出现下划线上划线。

.query-info-1 li:hover:before,.query-info-1 li.cur:before{
content:'';
position:absolute;
top:-1px;
left:-1px;
width:110px;
height:4px;
background:#4388c9;
}

6、最受启发的就是第一组项目中的table的实现了,这里面包含很多的技术思想,很受启发

1)不用js实现点击后的效果的切换:

部分html代码

                <li>
<input type="radio" name='tabs' id='tab1' checked >
<label for="tab1">项目一</label>
<div id='tab_menu1'>
<table>
<tr><td>购买材料一</td><td>购买材料一</td><td>购买材料一</td> <td>购买材料一</td> </tr>
<tr><td>购买材料一</td><td>购买材料一</td><td>购买材料一</td> <td>购买材料一</td> </tr>
<tr><td>购买材料一</td><td>购买材料一</td><td>购买材料一</td> <td>购买材料一</td> </tr>
<tr><td>购买材料一</td><td>购买材料一</td><td>购买材料一</td> <td>购买材料一</td> </tr>
<tr><td>购买材料一</td><td>购买材料一</td><td>购买材料一</td> <td>购买材料一</td> </tr>
</table>
</div>
</li>

css代码

.project_tab_menu [id^='tab']:checked ~ [id^='tab_menu']{
display: block;
position:absolute;
width:403px;
border-radius:0 5px 5px;
padding:28px 40px 35px 38px;
left:;
top:40px;
font-size: 14px;
border: 1px solid #DDDDDD;
}
.project_tab_menu [id^='tab']:checked~label{/*当选中tab开头的id,则为其后面的label元素添加下面这些样式*/
position: relative;
z-index:;
border:1px solid #DDDDDD;
border-bottom: none;
background: #fff;
height:28px;
font-size: 14px;
}
[title~=flower]
{
background-color:yellow;
}

[attribute~=value] 选择器用于选取属性值中包含指定词汇的元素。

选择 titile 属性包含单词 "flower" 的元素,并设置其样式:

这一段程序其实是参考别人的,他很聪明,采用radio来实现不同的项目的选择。并将<label>下的table设置为不可见,这样,所有的radio就可以排成一排。当其中一个按钮被选中后,再将其对应的table设置为display:block显示出来。

7、input元素与文本对齐

一般情况下会选用:

vertical-align:middle;

但是有时候效果并不是很好

可以直接将input元素定位住

input{
position:absolute;
top:5px;
left:5px;
}

8、有时候在一行中,文字中间会有空格,这时候可以添加<span>      </span>元素,而不用添加空格的字符编码。

9、有时候你可能要添加好几个图标,这时候可以选用一些行内元素插进去比如<i>,<span>等

10、设置table的线框和边距,不推荐使用<table border="1"  cellspacing="0"  cellpadding="0">使用这种出来的边框会比设置要粗一些,可以这样设置

.project table tr td{
border:1px solid #D6D6D6;
}
.project table{
border-collapse:collapse;
color:#64656A;
}
11、后面再写页面的时候,可以先设置reset.css,这样比较省时省力。

百度前端技术学院-task1.8源代码以及个人总结的更多相关文章

  1. 百度前端技术学院-task1.3源代码

    因为其中有图片,所以就给有图片的位置加了边框和设置了大小,这样哪怕图片不显示也可以知道在哪里. <!DOCTYPE html> <html> <head> < ...

  2. 百度前端技术学院-task1.10源代码

    任务十的源代码,其实有github的,但就是不知道怎么弄,近期会学会的.在IE和firefox上检测运行良好. <!DOCTYPE html> <html lang="en ...

  3. 百度前端技术学院-task1.8源代码

    主要是不采用bootstrap实现网格. 遇到的困难及注意点如下: 1.[class*='col-'],这个是选择col-开头的类,第一次用,以前也只是看到过: 2.媒体查询,总觉得容易理解错误.@m ...

  4. 百度前端技术学院-task1.4源代码

    任务描述 实现如 示例图(点击打开) 的效果 灰色元素水平垂直居中,有两个四分之一圆位于其左上角和右下角. 任务注意事项 思考不同情况下(如灰色高度是根据内容动态变化的)水平垂直居中的解决方案. 动手 ...

  5. 百度前端技术学院task1.10

    任务十:Flexbox 布局练习 面向人群: 有一定HTML及CSS基础的同学 难度: 中 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容 ...

  6. 百度前端技术学院task1 总结

    1.居中:当使用text-align或者vatical-align无法达到居中的时候,如果知道元素的大小,可以采用先设为left或right为50%,再设置margin-left或者margin-ri ...

  7. 百度前端技术学院(IFE)2016春季学期总结

    今天(5月16日)作为第八个提交者提交了任务五十:RIA微型问卷管理平台 这样一个综合性的大任务,宣告我的IFE春季学期课程学习顺利完成.其实任务五十并不复杂,现在再让我来做,可能一周不到就写出来了, ...

  8. 百度前端技术学院—-小薇学院(HTML+CSS课程任务)

    任务一:零基础HTML编码 课程概述 作业提交截止时间:04-24 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学习难度的合理 ...

  9. 通过Github Pages在线查看百度前端技术学院完成的任务成果

    前言 .note-content {font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHe ...

随机推荐

  1. 解决rpm conflicts with file from package的两个方法

    1.卸载掉冲突的文件,安装新的文件.如果由于由于依赖关系导致要卸载很多软件,那可以优先考虑下一个方法. 2.安装的时候增加–replacefiles参数,例如 rpm -ivh xxx.rpm –re ...

  2. unigui验证微信服务器的有效性

    UNIGUI验证微信服务器的有效性: //////////////////////////////////////////// //UniGUIServerModuleHTTPCommand //公众 ...

  3. Android-Java-解决(多线程存钱案例)的安全隐患-synchronized

    多线程存钱案例: package android.java.thread10; /** * 两个储户,到同一个银行存钱,每个人存了3次,一次1000000.00元 * 1.描述银行 * 2.描述储户任 ...

  4. java的环境变量

    Java学习第一步——JDK安装及Java环境变量配置  2014-05-30 9:09  Java SE  阿超  9226 views Java作为当下很主流的编程语言,学习Java的朋友也越来越 ...

  5. ASP.NET Web API 中使用 swagger 来管理 API 文档

    本文以 ASP.NET Web API 为后台框架,利用 EF6 连接 postgreSQL 数据库,使用 swagger 来生成 REST APIs文档.文章分二个部分,第一部分主要讲如何用 EF6 ...

  6. GridControl简单属性操作

    1.单行记录整行选中 GridView->OptionsBehavior->EditorShowMode 设置为:Click 2.如何让行只能选择而不能编辑(或编辑某一单元格) 只读 Gr ...

  7. [UWP开发] 在低版本中使用亚克力刷以及部分高版本控件

    写于2018.10.3 仅在我的PC(17763)和WP(Limia 950 XL 15254)上测试过 微软在build 16299中引入了亚克力刷,但是Win10m并没有活那么久,lumia手机在 ...

  8. JVM活学活用——GC算法 垃圾收集器

    概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了. jvm 中,程序计数器.虚拟机栈.本地方 ...

  9. InfluxDB配置文件详解

    全局配置 # 该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false reporting-disabled = false # 备份恢复时使用,默认值为8088 bin ...

  10. ss的使用配置(电脑、手机FQ)

    注:FQ仅用于google查阅资料等,禁止违规违法行为 自己搭建ss服务 1.vps购买:https://www.alpharacks.com/holiday 按流程填完相关信息(Operating ...