H5+class6

今天学习的css基础知识包括如下:

  • 百度首页的设计;
  • 背景图片;
  • 精灵图;
  • 边框属性;
  • 内边距,外边距;
  • css盒子模型;

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

一、百度首页临摹中出现的问题;

今天临摹了百度首页的设计,后来老师给了一个加强版。普通版因为之前自己已经临摹了好几遍,所以轻松完成。后来的加强版由于用到一些后面学到的知识,自己过手次数太少,费劲不少,其中主要表现在三个地方:

  • 1、在给一个a标签设置了文字,同时设置了背景颜色,结果设置了文字text-align:center后文字依然在背景方框的中间偏下地方,解决办法:将line-height设置成a盒子的高度,同时可以将原来a盒子 高度的代码删除,文字也就自动居中了。
  • 2、在form表单中给百度的中间设置了文本输入框和右边“百度一下”按钮,作业要求是两者之间不能有空隙,但是一直不能解决这个问题,即使给文本输入框设置了margin-right=0;给按钮设置了margin-left=0,两者之间依然有间隙,最后的办法是将其设置成position:relative;微调top+left,最后两者完美贴合。
  • 3、在临摹版本的百度首页下方设置了8张图片,分成两排居中放置在上面的文本输入框下方,类似广告之类的能点击的图片。设置了一个高度能容纳两排img的div,宽度不设置,默认和浏览器等宽。在嵌套一个高度和父div等高,一排能容纳4个img的宽度的div,然后放置8张img,最后效果是两排img,一排4张,结果给父div设置了text-align:center,结果图片始终不能在浏览器中居中显示。最后恍然大悟是应该设置:margin:0 auto;

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

二、背景图片;

快捷键:bi background-image: url();

注意点:

  • 1.图片的地址必须放在url()中, 图片的地址可以是本地的地址, 也可以是网络的地址
  • 2.如果图片的大小没有标签的大小大, 那么会自动在水平和垂直方向平铺来填充
    注意:
    repeat 默认, 在水平和垂直都需要平铺
    no-repeat 在水平和垂直都不需要平铺
    repeat-x 只在水平方向平铺
    repeat-y 只在垂直方向平铺
    应用场合:这种平铺的方式可以比如是一个大的背景,通过一个像素的长条平铺背景,或者一个小的类似于地砖的图案完成背景的平铺。这种方式能够有效的减轻服务器的响应负担。
  • 3.如果网页上出现了图片, 那么浏览器会再次发送请求获取图片
  • 4.background-position: 水平方向 垂直方向,具体的方位名词或者像素。格式:background-position: 水平方向 垂直方向;
  • 5.背景属性缩写的格式
    background: 背景颜色 背景图片 平铺方式 关联方式 定位方式;快捷键:bg+ background: #fff url() 0 0 no-repeat。
  • 6.背景关联方式:background-attachment:scroll或者fixed
  • 7.背景图片和插入图片区别:背景图片仅仅是一个装饰, 不会占用位置,插入图片会占用位置;背景图片好控制位置;插入的图片会被搜索引擎收录被检索。

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

三、精灵图;

就是一种图像合成技术,可以减少对服务器的请求的次数, 以及可以降低服务器处理压力

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

四、边框属性;

  • 第一种格式:
    快捷键:
    bd+ border: 1px solid #000;
    其他设置格式的快捷键:
  • 第二种格式:
    border-top: 边框的宽度 边框的样式 边框的颜色;
    border-right: 边框的宽度 边框的样式 边框的颜色;
    border-bottom: 边框的宽度 边框的样式 边框的颜色;
    border-left: 边框的宽度 边框的样式 边框的颜色;
    快捷键:
    bt+ border-top: 1px solid #000;
    br+
    bb+
    bl+
  • 第三种格式:
    border-width: 上 右 下 左;
    border-style: 上 右 下 左;
    border-color: 上 右 下 左;
  • 第四种格式:
    border-left-width: 20px;
    border-left-style: double;
    border-left-color: pink;

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

五、内边距,外边距;

- 内边距:

格式:非连写
padding-top: ;
padding-right: ;
padding-bottom: ;
padding-left: ;
格式:连写
padding: 上 右 下 左;

- 外边距:

格式:非连写
margin-top: ;
margin-right: ;
margin-bottom: ;
margin-left: ;
格式:连写
margin: 上 右 下 左;

  • 外边距合并现象:

在默认布局的垂直方向上, 默认情况下外边距是不会叠加的, 会出现合并现象, 谁的外边距比较大就听谁的。水平方向默认叠加。

·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·…·……·…·…·…·…

六、css盒子模型

在HTML中所有的标签都可以设置
宽度/高度 == 指定可以存放内容的区域
内边距 == 填充物
边框 == 手机盒子自己
外边距 == 盒子和盒子之间的间隙

  • 1.内容的宽度和高度
    就是通过width/height属性设置的宽度和高度

  • 2.元素的宽度和高度
    宽度 = 左边框 + 左内边距 + width + 右内边距 + 右边框
    高度 同理可证

  • 3.元素空间的宽度和高度
    宽度 = 左外边距 + 左边框 + 左内边距 + width + 右内边距 + 右边框 + 右外边距
    高度 同理可证

box-sizing属性:
1、content-box
元素的宽高 = 边框 + 内边距 + 内容宽高
2、border-box
元素的宽高 = width/height的宽高

盒子居中/内容居中:
text-align:center;和margin:0 auto;
区别:
text-align: center; 作用:设置盒子中存储的文字/图片水平居中
margin:0 auto; 作用:让盒子自己水平居中

你可能感兴趣的:(H5+class6)