前端--阶段笔记(二)

VScode

呵呵

H5C3

讲过了

label标签

meta 元语言

charset 字符集

新增语义化标签

  • header — 头部标签

  • nav — 导航标签

  • article — 内容标签

  • section — 块级标签

    扫描二维码关注公众号,回复: 12620483 查看本文章
  • aside — 侧边栏标签

  • footer — 尾部标签

在这里插入图片描述

新增音频标签

<body>
  <!-- 注意:在 chrome 浏览器中已经禁用了 autoplay 属性 -->
  <!-- <audio src="./media/snow.mp3" controls autoplay></audio> -->

  <!-- 
    因为不同浏览器支持不同的格式,所以我们采取的方案是这个音频准备多个文件
   -->
  <audio controls>
    <source src="./media/snow.mp3" type="audio/mpeg" />
  </audio>
</body>

Input’s type

<form action="">
        邮箱<input type="email" name="" id=""> <input type="submit" value="提交"><br /><br />
        手机号码<input type="tel" name="" id=""> <input type="submit" value="提交"><br /><br />
        网址<input type="url" name="" id=""> <input type="submit" value="提交"><br /><br />
        数字<input type="number" name="" id=""> <input type="submit" value="提交"><br /><br />
        搜索框<input type="search" name="" id=""> <input type="submit" value="提交"><br /><br />
        拖动滑块<input type="range" name="" id=""> <input type="submit" value="提交"><br /><br />
        时间<input type="time" name="" id=""> <input type="submit" value="提交"><br /><br />
        日期<input type="date" name="" id=""> <input type="submit" value="提交"><br /><br />
        日期时间<input type="datetime" name="" id=""> <input type="submit" value="提交"><br /><br />
        几年几月<input type="month" name="" id=""> <input type="submit" value="提交"><br /><br />
        几年几周<input type="week" name="" id=""> <input type="submit" value="提交"><br /><br />
    </form>

新增特性

required 要求文本框内容不能为空

autofocus 自动聚焦属性,页面加载完成,光标自动定位到这里

autocomplete = on 记录以前的输入记录,然后进行快速输入。需要在表单内加上name属性

multiple 多选文件提交

结构性伪类选择器—nth-child(n)与nth-last-child(n)

无论计算式如何,n都从零开始计算

计算结果小于等于0,则无效,大于被使用对象的最大值,无效。

nth-last-child(n)从最后一个开始,倒着数数。

nth-child和nth-of-type 的区别

  1. 代码演示

    <style>
      div :nth-child(1) {
          
          
        background-color: lightblue;
      }
    
      div :nth-child(2) {
          
          
        background-color: lightpink;
      }
    
      div span:nth-of-type(2) {
          
          
        background-color: lightseagreen;
      }
    
      div span:nth-of-type(3) {
          
          
        background-color: #fff;
      }
    </style>
    
  2. 区别

    • nth-child 选择父元素里面的第几个子元素,不管是第几个类型
    • nt-of-type 选择指定类型的元素

伪类选择器

结构伪类选择器

属性选择器

属性选择器在为不带有 class 或 id 的表单设置样式时特别有用。

DOM

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准[编程接口)

阴影

可以同时写两个,中间逗号隔开

如果px只写了两个,那么代表x和y的数据,省略了模糊程度和宽度。

e.g. box-shadow: 0 1px #5670a4 inset, 0 0 10px 5px rgba(0, 0, 0, .1);

这里写了内外两个阴影,内阴影x=0,y=1,模糊和宽度都为0,相当于没有左右下,只有上边框,宽度1px;外阴影严格套在边框上没有偏移,模糊10,宽度5,透明度.3。

第三课 2D转换

1.transform

不脱标,不影响其他盒子。

transition 过渡效果。实现基础动画效果,鼠标放上去开始动。

1.1translate

transform:translate(x,y)或者分开写

transform:translataX(n);

transform:translataY(n);

如果写成transform:translataX(%50);那么移动的是盒子自身的宽度或者高度决定。

定位配合转换让盒子在盒子里垂直水平都居中。

translate(-50%,-50%);

对行内元素translate 无效。

1.2rotate

​ rotate(45deg);//顺时针旋转45度

案例:字体图标的小三角

实现方法:正方形边框,隐藏一半,留下来的一半就是三角形,然后旋转一定角度,实现效果。

如果要做动画,鼠标放上之后实现,那么添加

div:hover {

transform:rotate(225deg);

transition:all 0.6s ;

}

转换旋转中心点

transform-origin:(left bottm);

缩放scale

transform:scale(x,y);

x and y 没有单位。直接是倍数。

如果只有一个数字那就是xy同时变换同样倍数。

scale优势:

1不影响其他盒子

2可以设置旋转中心点。

可以用于放大缩小图片

2D旋转会改变坐标轴,所以transform综合写法要先写位移再写旋转等其他属性。

动画

1定义2调用

1用keyframes定义动画类似定义类选择器

@keyframes move { //move为动画名称

​ 0% {//开始状态

​ transform:translateX(0px);

​ }

​ 100% {//结束状态

​ transform:translateX(1000px);

}

}

2调用

​ 2.1animation-name:move;

​ 2.2animation-duration:15s;

opacity:0.5???value 规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)。

第四课 3D

第四课 3D

3D位移和3D旋转

主要知识点

1、3D位移:translate3d(x,y,z)

2、3D旋转:rotate3d(x,y,z)

3、透视:perspective

4、3D呈现:transform-style

1、3D移动translate3d(x,y,z)

​ 比2D多一个移动方向Z,

​ transform:translateX(npx);沿着x轴移动n个px;

​ transform:translateX(100px) translateY(100px);

​ 综合写法。

​ transform:translate3d(100px,100px,100px);

​ 3d要小写xyz不可省略。

​ 2透视

​ 透视写在被观察元素的父盒子上

​ 透视越小,出来的效果越大。透视距离单位:PX, 模拟眼睛与屏幕的距离。

2、3D旋转:rotate3d(x,y,z)

左手准则判断旋转方式,是从上面向里转还是从下面向里转

4、3D呈现:transform-style

​ transform-style:flat 默认子元素不开启3d旋转效果。

​ transform-style:preserve-3d;子元素开启3d立体空间 效果。 写给父级,作用在子集上。

第五课 移动布局

视口

​ 浏览器显示内容的屏幕区域,分为布局视口视觉视口和理想视口。
​ 用理想视口

​ 写入

<meta name="viewport" content = "width = device-width, user-scalable =0 initial-scale = 1.0,maximum-scale = 1.0,minium-scale = 1.0">

物理像素比

​ PC端口 1PX 就等于 物理上的1PX

​ DPR dpr 设备像素比 device pixel ratio

​ DP device pixel

​ DIP device indepent pixel 设备独立像素 即 逻辑像素

​ PPI pixels per inch 每英寸像素取值 即 像素密度

​ 移动端存在物理像素比的关系

​ IPH8 物理像素比为2

​ Apple提出了单位pt(点),Android提出了单位dp(图形的单位)和sp(字体的单位)。

​ background-size 背景拉伸

​ 7.13 响应式页面

​ content-box;传统盒子模型

​ border-box;c3盒子模型

-webkit-tap-heightlight-color:transprant;

去掉ios默认按钮输入框外观:

-webkit-appearance:none;

禁用长按弹出菜单:

img ,a {

-webkit-touch-callout:none;

}

移动端常见布局

1 移动端单独制作

  • 流式布局(百分比布局)
  • flex 弹性布局(强烈推荐)
  • less+rem+媒体查询布局
  • 混合布局

2 响应式

  • 媒体查询
  • bootstarp

流式布局:

流式布局,就是百分比布局,也称非固定像素布局。

通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。

流式布局方式是移动web开发使用的比较常见的布局方式。

出现行内块的时候,一般会出现

vertical-aline:middle; 图片和文字居中对齐

CSS初始化

​ 使用normalize.css

二倍精灵图

二倍图

分辨率100×100
直接给盒子赋值 width:50px; height:50px;
然后给background-size:50px 50px;

不是给图,是给放图片的盒子。

放在fw里面等比例缩放然后在放新测量数据

css3 盒子模型

原始盒子模型:
width=content ,真实宽度为: width+border+padding

在这里插入图片描述

boxsizing:border-box :
width=content+padding+border 真实宽度为: width
在这里插入图片描述

background-size 背景缩放

单位可以跟百分比,比例相对父盒子来说

可以放盒子

cover 高度和宽度等比例拉伸,要把整个盒子给盖住,图片变形不变形无所谓
contain 高度和宽度等比例拉伸,当高度或者宽度完全铺满就不再进行拉伸

特殊样式清除

1点击高亮背景清除
-webkit-tap-hightlight-color:transparent;

2移动端浏览器在ios上给按钮和输入添加自定义输入框样式
-webkit-appearance:none;

3禁用长按页面时弹出右键菜单
img,a { -webkit-touch-callout:none;}

0. 移 动 端 开 发 选 择 综 述

1 单独开发移动端页面(主流)
1.1 流式布局
1.2 flex伸缩布局
1.3 less+rem+媒体查询布局
1.4 混合布局

2 响应式页面兼容移动端(其次)
2.1 媒体查询
2.2 Bootstrap

A. 流 式 布 局/ 百分比布局

百分比布局 非固定像素布局 把盒子宽度设置为百分比 根据屏幕宽度来进行伸缩。
设定最大最小值 max-width min-width

A.1.移 动 首 页 项 目

各种居中看这里

1.父亲给了高度孩子浮动的时候就不会有清除浮动的问题了。
2.图片水平居中,给图片放一个盒子,然后盒子写 text-align:center;
3.图片垂直居中,盒子写 line-height;
4.图片如果没有和文字对齐,图片文字对齐:vertical-align:middle;
5.外边距合并:给父盒子添加overflow:hidden; 子盒添加margin-top会把父盒子带下来。
6.二倍精灵图缩放做法:“先在fireworks里面把图片等比例缩放为原来一半,然后 再去测量坐标,最后写background-size缩放整个精灵图的一半。”
7.加了固定定位的盒子要给宽度,可以给百分比。
8.子盒子写100%,就是和父盒子一样宽,如果父盒子有宽度那就和父盒子一样宽。
9.border-ridus可以按每个角来写 1px 2px 3px 4px
10.如果一个盒子里面全部都是图片然后上边出现了一个空白,像是margin,那是因为图片与文字基线对齐模式有问题,把图片的vertical-align改为:vertical-align:top; / vertical-align:middle; 即可取出空白缝隙。
11.a是行内元素,写了宽度要给转换成块级元素,但是写了浮动就不用了。
12.缩放图片,宽高写给装图片的盒子,不是给图片?待验证
13.nth-child(n):括号中的 n从零开始计算,但是nth-child是从1开始算,遇到0自动停止。所以可以用(-n+3)这样的结构实现选择出前三个子元素。
14.

B.F l e x 布 局 / 弹性 / 伸缩 / 自适应

flex布局 与 传统布局

1.传统布局:兼容性好,布局繁琐(浮动占不占位置,要不要清除浮动等),局限性高不能很好适配移动端

2.flex弹性布局:伸缩,自适应, 操作简单布局简单,pc端支持较差ie11或更低版本不支持。

转换为flex布局,只需要在父盒子css中写上

display:flex;

没有浮动自然不需要清除浮动。

flex:1 平均分配在一行上。

任何容器都可以指定为flex布局
设置为flex布局后float clear vertical-align 失效
flex直接垂直居中了,vertical-align失效。

采用flex布局的元素称为flex容器,
子元素称为flex item flex项目。
父元素添加display:flex;

1.flex父项添加属性:

flex-direction:设置主轴方向

​ 默认主轴x方向,默认侧轴y

​ 写谁,谁就是主轴,元素跟着主轴来排列

​ row 从左到右

​ row-reverse 从右到左

​ column 以y为主轴 从上到下

​ column-reverse

justify-content:

​ 定义项目在 主轴 上排列方式

​ justify v.证明…正确(或正当、有理); 对…作出解释; 为…辩解(或辩护); 调整 使全行排满; 使每行排齐; 使齐行;

​ flex-start:从头部开始

​ flex-end:正序排列,但是贴着尾部开始

​ center:沿着主轴居中对齐 ,以前需要套父盒子再父盒子maigin0auto
​ 如果是x做主轴那就是水平居中,如果是y那就是垂直居中

​ space-around:平分剩余空间 around 围绕; 环绕;

​ space-between:首尾两个盒子先贴边,剩下的盒子再平分剩余空间

flex-wrap:

项目超出容器范围,则自动调整项目宽度,以适应容器。

flex布局中默认不换行 nowrap。

flex-wrap:wrap;

align-items

align:校准使成一线,排整齐,使一致。
item:项目 子项目

设置 侧轴 上子元素排列方式(单行)

flex-start flex-end

center 居中显示

stretch 拉伸 拉到和父盒子一样宽度或者高度

属性有:上对齐下对齐居中和拉伸

align-content

多行(有换行情况才是多行)有用,单行没用。

属性有:上对齐、下对齐、居中、拉伸、平均分配剩余空间等。

align-item适用于单行。

stretch:默认值,拉伸
center
flex-start
flex-end
space-between 前后第一个盒子紧贴边框然后剩下的平分空间
space-around 平均分
initial 默认
inherit 继承

flex-flow

属性是 flex-direction 和 flex-wrap 属性的复合属性
设置主轴和是否换行

2.flex子项属性

flex属性定义子项分配剩余空间,用flex来表示占多少份。

.item {
    
    
flex:<number>;
}  //写在子盒子的属性里面

number可以是数字,1,2等。也可以是百分比如:20%。

align-self 控制子项自己在侧轴的排列方式
允许单项和其他项目不同。

order定义排列顺,数值越小,越是靠前

已经有定位的条件下,maigin:0 auto 无效

加了绝对定位直接有大小,不需要在写display:block;

::before 是行内元素没有高度。

需要转换为display:block;

B.1 小 案 例

1.加定位之后,想把盒子挪回去:
transform:translateX(-50%);

2.去除 a标签中的 文字的下划线

a {
text-decoration:none;
}

3.css3 盒子模型,高度算上了边框在内,所以内部文字想要垂直居中,line-height的值要写为:总高度减去上下边框高度的值。

4.a盒子,鼠标放上去出现提示文字:

5.多个相似结构但是名字不同的板块统一写样式:class ^=“local-nav-icon”
其中,类名相同部分为local-nav-icon ,不同部分为后面的 icon1,icon2.

6.父盒子给了border-ridus,但是子盒子没给,导致圆角失败,可以给父盒子添加overflow:hidden;来解决。

7.文字阴影 text-shadow :1px 1px rgba(0,0,0,.2);

8.背景渐变色:背景渐变色

​ 1线性2非线性

​ 语法:background:linear-gradient(起始方向,颜色1,颜色2,。。。);

​ e.g. : background:-webkit-linear-gradient(left,red,blue);

​ background:-webkit-linear-gradient(left top,red,blue);

9.flex可以写百分比,相对父亲的百分比。

10.text-indent 首行缩进 赋值-999 再给盒子overflow:hidden SEO 优化

C. R E M 适 配 布 局 与 L E S S

新问题:
以往方案,字体不能随着界面大小变化。
流式布局和flex布局主要针对宽度,高度如何设置?
怎样唐屏幕发生变化时候元素的高度和宽度等比例缩放?

1.rem是一个单位

​ root em 是一个相对单位 类似于em em是父元素字体大小,rem是相对于html元素的文字大小

2.媒体查询

​ Media Query css3新语法 根据不同尺寸屏幕设置不同样式。

写法:

@media mediatype and|not|only (media feature) {
    
    
css-code;
}

e.g.

@media screen and (max-width:800px){
    
    //小于等于 800px 的可以用
 body {
    
    
 background-color:pink;
 }
} 

小技巧:F12调试模式下拖动窗口会在右上角显示当前分辨率

3.引入资源

针对不同媒体,引入不同资源 ,调用不同css样式,称为引入资源
媒体查询最好方法从小到大来写。

语法规范:

<link rel="stylesheet"  href="style320.css" media="screen and (min-width:320px)">
<link rel="stylesheet"  href="style640.css" media="screen and (min-width:320px)">

font-size 可以写0.5rem。

href是Hypertext Reference的缩写。意思是指定超链接目标的URL

4.less

​ css弊端:
​ 1.需要书写大量看似没有逻辑代码,冗余度太高
​ 2.不方便维护扩展,不利于复用。
​ 3.不能计算
​ 4.非前端工程师,缺少经验,难以写出组织子良好易于维护的css代码

​ less是什么?
​ 一门css扩展语言,也成为css预处理器。css有多种预处理器。

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

新建less文件,扩展名.less。安装node.js npm-install

1.less变量

​ 1.1 定义粉色变量

@color:pink;//@变量名:值;
body {
background-color:@color;
}

​ 1.2 定义字体大小

@font14:14px; 
body {
    
    
background-color:@color;
font-size:@font14;
}

不能数字开头,不能包含特殊字符,区分大小写.

less包含一套自定义语法和一个解析器,less编译之后能生成css文件,引入html

使用vscode插件Easy Less

easy less插件,把less文件编译为css文件

2.嵌套

less中 ,直接写嵌套。

.header {
	width:100px;
	a {
		color:red;
		}
}

a是header的后代,直接把a写在header里面。

.nav {
	.logo {
	}
}
3.伪类选择器

&指定样式为本身的样式,不是后代的样式。
如果不加&符号,less默认写的内容是加空格的,这样就不是子代的特性。

.nav {
	&:hover {
	color:blue;
}
}

生成的css为

.nav:hover{
color:blue;
}

如果有伪类、交集选择器、伪元素选择器,内层选择器前面要加&。

4.less运算

less中,任何数字颜色变量都可以参与运算,less提供四则运算

@border:5px +5;
div {
	width:200px - 50;
	height:200px * 2;
	border:@border solid red;
}

运算符前后要加空格

如果只有一个数字有单位,则以这个单位为准。

如果有两个单位,以前面的单位为准。

补充:交集并集选择器

1、交集选择器

交集选择器就是在两个标签相交的部分,也就是交集进行修改格式。
对于交集选择器,可以与id和class共同使用。

格式:

标签1标签2
{ 属性;
}

<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>交集选择器与并集选择器</title>
    <style>
        p.p1 {
    
    
            color: red;
        }
    </style>
</head>
<body>
    <p>我是段落</p>
    <p class="p1">我是段落</p>
    <p class="p2">我是段落</p>
</body>
</html>

2、并集选择器

与交集选择器不同,并集选择器是对两个标签同时进行修改样式。
并集选择器同样可以与id和class同时使用。

格式:

标签1,标签2
{ 属性;
}

<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>交集选择器与并集选择器</title>
    <style>
        h2,p{
    
    
            color: red;
        }
    </style>
</head>
<body>
    <h2>我是标题</h2>
    <p>我是段落</p>
</body>
</html>

5.REM适配方案

​ 不同页面像素不同,宽度不同,一份设计稿需要对应多个设备,那就需要自适应。不可能一个个手工修改宽度,所以需要REM统一单位,rem = font-size。统一单位之后,想要页面自动适应设备,需要媒体查询,查询完了根据不同页面大小修改对应font-size,font-size = 页面宽度 / 份数,修改了font-size就相当于修改了rem,字体大小就可以随着变动。查询完毕不同页面适配不同大小,手工一个个计算太麻烦,所以需要LESS自动计算。

html {
    font-size:50px;  //初始化定义html页面的font-size
}
@no:15; //no = number 表示页面被平均分的份数
@media screen and (min-width:320px) {
	html {
	font-size:320px / @no ;
	}
}

动态标签设置font-size大小:
例如,设计稿750px,把设计稿子划分为15等分,每一份作为html字体大小,这是50px,在适配320屏幕时候,字体大小为320/15份, 就是21.33px。这样实现了文字大小的自动转换。

C.1 小 案 例(方 案 一)

如果在网页端打开,在less最上面写

html {
font-size:50px;
}

在首页的index.less中写内容的时候,把common.less导入
@import “common.css”;
导入,把一个样式文件引入另一个文件中。

盒子里有图片,图片要做成链接,选取的结构是:

.ad {
	display:flex;  //父盒子设定flex伸缩布局
	a {            //a 是子盒子,做出链接效果,只有一个a ,所以flex1
		flex:1;   //这样a盒子完全填充父ad盒子
        img {
            width:100%;  
            //img盒子100%填充父盒子a 实现img与ad盒子适配
        }
	}
}

C.2 小 案 例 (方 案 二)

使用淘宝前端团队的flexiable.js

.js称为库文件,引入方法:

<script src = "js/flexible.js"></script>//写在index.html中

使用flexible.js只需要提前设置好html文字大小

VScode插件,px转rem插件 cssrem ,不用less 自动转。
这个插件默认html文字大小 cssroot 16px,但是默认字体大小不一定,需要根据设计图来走,所以修改方法:

点击vscode下方齿轮打开设置,搜索cssroot,在右侧修改。改完之后重启vscode。即可在书写px单位时候下方出现自动转换的数值。

D.响应式布局 与 栅 格 系 统

响应式布局:根据不同屏幕大小更改布局,以前的方案只是改变比例大小,不改变布局。

Responsive Web Design = RWD,Adaptive Web Design = AWD

超小屏幕(手机)<768 :设置宽度100%
小屏幕(平板)768~992 :设置宽度750px
中等屏幕(桌面显示器)992~1200 :设置宽度970px
宽屏 1200+:宽度设置1170px

查询媒体,手动改变页面盒子排列。

相应式开发原理:媒体查询,针对不同宽度设备改变布局和样式的设置,适配不同屏幕。

BOOTSTRAP

bootstrap来自推特,响应式布局,移动设备优先的web项目。
暂时只考虑样式库。

控制权在框架本身所以要按照框架所规定的规范进行开发
使用四步曲:
1.创建文件夹结构
2.创建html骨架结构
3.引入相关文件
4.写入内容

Bootstrap 提供了两种container,响应式布局需要一个父容器,在不同屏幕下改变容器大小。
1.container
响应式布局容器固定宽度 ,区分大中小屏幕,自动修改宽度

2.container-fluid
流式布局 百分百宽度,占据全部视口,适合单独开发移动端。

如何让网页中的图片随网页窗口的大小自动缩放

​ width:100%;

​ height:100%;
如果是背景图的话
​ background-size:cover

​ background-size: cover;

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

格栅系统

基本用法

给页面分成很多个格栅,然后不同板块对于数量的格栅,页面大小变化的时候,框架修改格栅宽高,从而修改内容宽高,实现自适应。

行(row)要放进container布局容器里面,
实现列的平均划分,要给列添加类前缀,
大于12的列会被当做一个整体另起一横行进行显示,
可以为同一个列指定多个设备类名,以划分不同份数,
每一列默认有左右15px的panding。

bootstrap 盒子排列在一行上,是通过添加浮动实现的。
占比是通过赋值给width百分比实现。

例子:

<div class ="container">
    <div class = "row">
        四个盒子排列在一行,大屏幕中,每个占3,共计12.
        <div class = "col-lg-3">1</div>
        <div class = "col-lg-3">2</div>
        <div class = "col-lg-3">3</div>
        <div class = "col-lg-3">4</div>
    </div>
    
        <div class = "row">
        四个盒子排列在一行,中等屏幕中,每个占4,共计12.
        <div class = "col-md-4">1</div>
        <div class = "col-md-4">2</div>
         可以复写
        <div class = "col-md-4 col-sm-6">3</div>
 
    </div>
</div>

列嵌套

不同列之间如果给margin值,一行将排列不下,可以大盒子套小盒子,大盒子给padding(相对于小盒子),从而实现大盒子之间的空隙。

列内再嵌套列:

<div class = "container">
    <div class = "row">
        <div class = "col-md-4"> <!--第 1 列-->
            <div class = "row"> <!--列 1 内嵌套的新的行 -->
                <div class = "col-md-6">
                    第一列里面嵌套的第1小列
                </div>
                
                 <div class = "col-md-6">
                    第一列里面嵌套的第2小列
                </div>
            
            </div>
        </div>
        
        <div class = "col-md-4">2</div> <!--第 2 列-->
        <div class = "col-md-4">3</div> <!--第 3 列-->
        
    </div>
     
</div>

在列内嵌套列如果直接写,会有一个padding 所以在多加一个row这样就没有padding。

列偏移

.col-md-offset -n 向右偏移n份
相当于给右侧盒子添加外边距margin,系统自动计算。

列排序

push 和pull 都是以浏览器右侧为准

响应式工具

加快对设备友好的页面开发工作,利用媒体查询,并使用这个工具可以方便针对不同页面展示或者隐藏内容。

隐藏

.hidden-屏幕缩写,遇到那个屏幕就隐藏这个盒子,如:
.hidden-xs 超小屏幕下隐藏
注意,对应屏幕隐藏,超过和不足都不隐藏。

展示

.visible-屏幕大小;

D.1 小 项 目

技术选型

方案:响应式页面开发方案
技术:Bootstrap框架
设计图:1280px设计尺寸

需求分析

大屏与中屏一个样,直接布局一样的
小屏幕布局发生变化,为小屏幕改变布局
超小屏幕单独布局
策略:先布局md以上pc端布局。然后根据需求修改小和超小屏幕布局。

设计过程

1.修改屏幕尺寸

​ 默认尺寸1170
​ 修改为需求尺寸1280,采用媒体查询

@media screen and (min-width:1280) {
    
    
    .container {
    
    
        width:1280px;
    }
}

2.设定标签 (h5新增标签)

设定为,左侧header 中间 artical 右侧aside

图片需要随着列宽自动变化,如果父盒子可以自动变化,那就给img添加属性width:100%;

清除a样式

清除li样式
清除搜索框边框样式

添加Bootstrap提供的字体图标

在参考文档中找到字体图标,复制名称,添加给目标标签类名。

Bootstrap清除浮动

框架已经写好,直接在类名中写 class = “clearfix”;

选择一种技术作为主要技术,其他技术作为辅助,混合技术开发。

猜你喜欢

转载自blog.csdn.net/codemokey/article/details/108620126