Day 9心得(*)

flex布局

开启盒子要在父元素上

主轴的对齐方式:  justify-content:;

justify-content:flex-start;    从起点开始依次排列(默认的)

justify-content:flex-end;     从终点开始依次排列

justify-content:center;        在主轴的中间开始依次排列

justify-content:space-between;    把空白间距平均分配在弹性盒子之间

justify-content:space-around;      把剩余空间均分在每一个弹性盒子的两侧

justify-content:space-evenly;       弹性盒子之间,以及弹性盒子与容器之间的间距相等

侧轴对齐方式: align-items:; 

限制:只有在弹性盒子只有一行时进行使用,并且对容器内所有的弹性盒子设置侧轴对齐方式

align-items:stretch;   把弹性盒子沿着侧轴线拉伸至容器填满

align-items:center;   沿着侧轴居中

align-items:flex-start;  从上开始依次排列

align-items:flex-end;   从下开始依次排列

align-self:;   单独控制某一个弹性盒子的侧轴对齐方式

例如 :.box:nth-child(3){align-self:center;}

           把第三个.box设置为沿着侧轴居中

修改主轴方向: flex-direction:; 

flex-direction:row; 从左往右   ( 默认的)

flex-direction:row-reverse; 从右往左

flex-direction:colum;  将水平方向该为垂直方向 ,从上往下(主轴和侧轴方向调换)

flex-direction:colum-reverse; 从下往上 

 控制弹性盒子主轴方向的尺寸:   flex:;

flex:1;表示占用父级元素剩余空间的一份,

               当只有一个flex:;时,表示占用全部剩余空间

例如: .box:nth-child(3){flex:1;}

            .box:nth-child(4){flex:1;}

     表示第三个和第四个盒子按1:1的比例占用了剩余空间

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style>
		.outer{
			/* 开启弹性盒子 */
			display: flex;
			width: 800px;
			height: 400px;
			background-color: pink;
		}
		.box{
			
			width: 100px; 
			height: 100px;
			background-color: green;
			margin-right: 10px;
		}
		/* .box:nth-child(3){ */
			/* background-color: pink; */
			/* align-self  单独控制某一个弹性盒子的侧轴对齐方式的*/

			/* align-self: center; */
		/* } */
		.box:nth-child(1){
			flex: 1;
		}
		.box:nth-child(2){
			flex: 2;
		}

		.box:nth-child(3){
			/* 控制弹性盒子主轴方向的尺寸的 
			占用父级元素剩余空间的份数
			
			*/
			flex: 1;
		}

		.box:nth-child(4){
			flex:1;
		}


	</style>
</head>
<body>
	<!-- 
	flex布局:弹性盒子布局    默认弹性盒子内部的子元素会被放在一行  并且不会像浮动一样脱标
	主轴:默认的方向是从左往右的水平方向
	交叉轴:默认的方向是从上往下的垂直方向
	-->


	<div class="outer">
		<div class="box">1</div>
		<div class="box">2</div>
		<div class="box">3</div>
		<div class="box">4</div>
	</div>
</body>
</html>

弹性盒子的换行:

写法:flex-wrap:;

flex-wrap:nowrap;  默认的格式,表示不换行

flex-wrap:wrap;   表示换行

多行的侧轴弹性盒子对齐方式:  align-content:;  

align-content:;  和ju

stify-content:;的取值是一样的

​
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style>
		.outer{
			display: flex;
			/* 弹性盒子的换行 */
			flex-wrap: wrap;
			justify-content: space-between;
			/* 多行的测轴弹性盒子对齐方式 */
			align-content: space-between;
			width: 500px;
			height: 300px;
			background-color: pink;
		}
		.box{
			width: 120px;
			height: 130px;
			background-color: green;
			/* margin-right: 10px; */
		}

		.box:nth-child(4n){
			margin-right: 0;
		}
	</style>
</head>
<body>
	<div class="outer">
		<div class="box">第1个盒子</div>
		<div class="box">第2个盒子</div>
		<div class="box">第3个盒子</div>
		<div class="box">第4个盒子</div>
		<div class="box">第5个盒子</div>
		<div class="box">第6个盒子</div>
		<div class="box">第7个盒子</div>
		<div class="box">第8个盒子</div>
	</div>
</body>
</html>

​

grid布局:

想要绘制m行n列的网格,需要使用m+1条横向,n+1条纵向的网格线组成

触发grid布局:div{

                       display:grid;

                       grid-template-rows:;

                       grid-template-columns:;

                      }

划分行:grid-template-rows:;                   参数有几个表示有几行

例如: grid-template-rows:100px  200px  300px;

            表示划分了三行,第一行100px,第二行200px,第三行300px

划分列:grid-template-columns:;                参数有几个表示有几列

例如:grid-template-columns:100px  200px  300px;

         表示划分了三列,第一列100px,第二列200px,第三列300px

通过百分比取值(占父元素的百分比):

例如: grid-template-rows:10%   20%   30%;

           表示划分了三行,第一行占父元素的10%,第二行占父元素的20%,第三行占父元素的30%

            grid-template-columns:10%   20%   30%;

           表示划分了三列,第一列占父元素的10%,第二列占父元素的20%,第三列占父元素的30%

repeat函数 :  repeat(num1 ,num2)

                       num1表示重复的次数,num2表示重复的数值

例如:grid-template-columns:repeat(3,100px);

          表示重复三次,每次占用100px

         grid-template-columns:repeat(2,100px) 300px;

         表示前两列是100px,第三列是300px

自动填充:写在repeat函数中,若取值是auto-fill: 那么会根据填充的数值进行自动填充

         auto-fill: 根据需要重复的数值,进行自动填充重复的数量

例如: 盒子的宽为500px

          若写grid-template-columns:repeat(auto-fill,150px);

         则会生成3列,每行150px

auto: 表示单独的取值,占用剩余宽度或者高度的全部

例如: 盒子的宽为500px

          若写grid-template-columns:repeat(100px  100px  auto);

          则会生产三列,前两列100px,第三列300px

          若写grid-template-columns:repeat(auto  100px  100px);

          则会生产三列,第一列300px,后两列100px

fr: 方便展示比例关系的

例如grid-template-columns:1fr  2fr  3fr; 

       表示比例为1:2:3

网格之间的间距调整:

写法:row-gap:;   行间距,单位是px

         column-gap:; 列间距,单位是px

row-gap:;和column-gap:;要写在grid-template-rows:;和grid-template-columns:;下方

例如div{

             display:grid;

             grid-template-rows:;

             grid-template-columns:;

             row-gap:;

            column-gap:;

         }

复合写法:gap:;

例如:gap:10px  20px;

         表示行与行间距10px,列与列间距20px

容器中项目的显示顺序:

写法:  grid-auto-flow:;

grid-auto-flow:row;   默认的,表示横向

grid-auto-flow:column;表示纵向

项目在网格中的对齐方式:

justify-items:center;   表示项目相对于网格水平居中

align-items:center;     表示项目相对于网格垂直居中

网格对于容器的对齐方式:

justify-content:center;     表示网格对于容器水平居中

align-content:center;      表示网格对于容器垂直居中

单元格的合并:

grid-row:;        表示行的网格线

grid-column:;  表示列的网格线

例如:grid-row:2/5; 表示行的网格线从2到5

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<style>
		.box{
			/* 触发grid布局 */
			display: grid;
			/* 划分行 */
			/* 取值方式1 */
			/* grid-template-rows: 100px 200px 200px; */
			/* grid-template-columns: 100px 100px 100px; */
			/* 百分比取值:占用父元素的百分比 */
			/* grid-template-rows: 10% 30% 40% 10%;
			grid-template-columns: 100px 100px 100px; */
			/* 第三种方式repeat(num1,num2) num1表示重复的次数 num2重复的数值 */
			/* grid-template-rows: repeat(3,100px);
			grid-template-columns: repeat(2,100px) 300px; */

			/* 第四种:自动填充
			repeat函数中,auto-fill:根据需要重复的数值,进行自动填充重复的数量
			
			*/
			/* grid-template-rows: repeat(auto-fill,100px); */
 
			/* grid-template-columns: 100px 100px 100px ; */
			/* auto:单独的取值,占用剩余宽度或者高度的全部 */
			/* grid-template-rows: 100px 100px auto;
			grid-template-columns: auto 100px 100px; */
			/* fr  :方便展示比例关系的  1fr 2fr */
			/* 网格之间的间距调整 */
		
			grid-template-rows: 1fr 2fr 1fr;
			grid-template-columns: 100px 100px 100px ;
			/* grid-row-gap: 20px;
			grid-column-gap:20px; */
			/* row-gap: ;
			column-gap: ; */
			/* gap: 30px 10px; */

			/* 容器中项目的显示顺序 */
			/* grid-auto-flow: column; */


			/* 项目在网格中的对齐方式 */
			justify-items: center;
			align-items: center;


			/* 网格对于容器的对齐方式 */
			justify-content: space-between;
			align-content: space-between;


			width: 500px;
			height: 500px;
			border: 1px solid black;

		}
		.son{
			/* width: 100px;
			height: 100px; */
			border: 1px solid rgb(0, 0, 0);
		}
		.son1{
			grid-row: 2/3;
			grid-column: 1/3;
		}
	</style>
</head>
<body>
	
	<div class="box">
		<div class="son son1">第1个</div>
		<div class="son">第2个</div>
		<div class="son">第3个</div>
		<div class="son">第4个</div>
		<div class="son">第5个</div>
		<div class="son">第6个</div>
		<div class="son">第7个</div>
		<div class="son">第8个</div>
	</div>
</body>
</html>

JS的引入方式

      内部形式:

<script>

 js代码

 alert("你好,javascript")

</script>

        外部js文件的引入:

<script src="./08-jstest.js">

     alert("123")  一个script标签如果已经通过src引入ljs文件,那么其中间的代码就失效

 </script>

注释符和结束符

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>

	<script>
		// js中的单行注释
		/*
		我是
		多行
		注释
		
		*/

		// 结束符  ;
		alert("12345")
		alert("123232")
			</script>
	
</body>
</html>

输入输出

输出:

        1、警示框

        alert("这是一个警示框")

        2、控制台打印

        console.log("这是一个控制台打印的语句")

         3、可以识别标签,在浏览器的可视区进行打印

        document.write("<h1>我是标题标签</h1>")

    输入框:

        prompt("请输入您的姓名:")

变量

<script>

      变量:在程序运行时,可以发生改变的量   容器  ,使得计算机变得有记忆了,通俗的理解为:

         prompt("请输入用户名:")

         prompt("请输入密码:")

      变量的声明方式  let 变量名称

        let username =

        变量的赋值  =:赋值  

         username=prompt("请输入用户名:")

        console.log(num1)

     声明的同时直接赋值

         let num1 = 12

         num1=100

      同时声明多个变量

          let num2=1,num3=2

          let声明的变量不能重复声明

           let声明的变量,在生命之前,不能够进行访问,否则会报错

         console.log(num2)

      var 变量名 = 变量值

            console.log(uname)

            var uname="zhangsan"

            var uname="lisi"

             console.log(uname)

             var:没有作用域的概念,后期推荐用let

let a

let b

    变量的命名规范:

    1、只能有字母数字下划线、$   并且数字不能作为开头

    2、使用有寓意的名称

    3、字母严格区分大小写  

    4、不能使用js的关键字和保留字

    </script>

常量

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>


	<script>

		// prompt("")
		// 常量:程序运行时,不能发生变化的量  const 常量名 = 值   常量名一般是纯大写的
		// const PI = 3.14
		// PI = 2.323
		// console.log(PI)
		// 用户输入用户名
		// 用户输入密码
		// 控制台分别打印用户名和密码


		let uname=prompt("username:")
		let pwd = prompt("password:")
		console.log("用户的用户名是:"+uname)

	</script>
	
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值