day07前端学习html与css

弹性盒子布局

本部分笔记参考别人的笔记,为转载,原地址:https://www.jianshu.com/p/d9373a86b748/

	display:flex 是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。
	是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局。
	目前,它已经得到了所有浏览器的支持。
	Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
	设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

day07前端学习html与css_第1张图片
day07前端学习html与css_第2张图片

弹性盒子模型布局一大优点就是会把整个区域内所有的div都对齐,会把下边框拉到同一个水平
代码示例:




    
    
    Document
    


    
"contener">
"width: 220px;">

我是第一个div

我最瘦

"width: 500px;">

我是第二个div

我最胖

我最胖

我最胖

我最胖

我最胖

我最胖

"width: 240px;">

我是第三个div

我最帅

我最帅

我最帅

我最帅

"contener2">
"width: 220px;">

我是第一个div

我最瘦

"width: 500px;">

我是第二个div

我最胖

我最胖

我最胖

我最胖

我最胖

我最胖

"width: 240px;">

我是第三个div

我最帅

我最帅

我最帅

我最帅

效果图示:
day07前端学习html与css_第3张图片
上半部分为弹性盒子布局,下半部分为浮动布局

flex的六个属性

一、flex-direction 容器内元素的排列方向(默认横向排列)

day07前端学习html与css_第4张图片
1:flex-direction:row; 沿水平主轴让元素从左向右排列
day07前端学习html与css_第5张图片
2:flex-direction:column; 让元素沿垂直主轴从上到下垂直排列
day07前端学习html与css_第6张图片

3:flex-direction:row-reverse;沿水平主轴让元素从右向左排列
day07前端学习html与css_第7张图片

二、flex-wrap 容器内元素的换行(默认不换行)

1:flex-wrap: nowrap; (默认)元素不换行,比如:一个div宽度100%,设置此属性,2个div宽度就自动变成各50%;
2:flex-wrap: wrap; 元素换行,比如:一个div宽度100%,设置此属性,第二个div就在第二行了;
day07前端学习html与css_第8张图片
day07前端学习html与css_第9张图片

三、justify-content 元素在主轴(页面)上的排列

1:justify-content : center;元素在主轴(页面)上居中排列。空白会均匀放到两侧
day07前端学习html与css_第10张图片
2:justify-content : flex-start;元素在主轴(页面)上由左或者上开始排列,空白放到右边
day07前端学习html与css_第11张图片
3.justify-content : flex-end;元素在主轴(页面)上由右或者下开始排列,空白放到左边
day07前端学习html与css_第12张图片
4:justify-content : space-between;元素在主轴(页面)上左右两端或者上下两端开始排列,空白放到元素中间
day07前端学习html与css_第13张图片
5:justify-content : space-around;每个元素两侧的间隔相等。所以,元素之间的间隔比元素与边框的间隔大一倍。空白放到元素两侧
day07前端学习html与css_第14张图片

四、align-items 元素在主轴(页面)当前行的横轴(纵轴)方向上的对齐方式

1:align-items : flex-start; 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界(靠上对齐)。
day07前端学习html与css_第15张图片
2:align-items : flex-end; 弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。(靠下对齐)
day07前端学习html与css_第16张图片
3:align-items : center; 弹性盒子元素在该行的侧轴(纵轴)上居中放置。(居中对齐)

day07前端学习html与css_第17张图片

4:align-items : baseline; 如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。(靠上对齐)尽量靠上对齐,但是以内容的第一行下侧为基准线,而不是上面的边
day07前端学习html与css_第18张图片

五:stretch:拉伸子元素,让它们占满父容器
day07前端学习html与css_第19张图片
代码示例:




    
    
    Document
    


    
"container">
" font-size:15px">栏目一
" font-size:25px">栏目二
" font-size:35px">栏目三

四、align-content 在弹性容器内的元素没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直)

1:align-content: flex-start; 元素位于容器的开头。各行向弹性盒容器的起始位置堆叠。

1536046493(1).png

2:align-content: flex-end; 元素位于容器的结尾。各行向弹性盒容器的结尾位置堆叠。

1536046542(1).png

3:align-content: stretch; 元素位于容器的中心。各行向弹性盒容器的中间位置堆叠。

1536046654(1).png

4:align-content: center; 默认值。元素被拉伸以适应容器。各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于’flex-start’。

1536046771(1).png

5:align-content: space-between;元素位于各行之间留有空白的容器内。各行在弹性盒容器中平均分布。

1536046899(1).png

6:align-content: space-around;元素位于各行之前、之间、之后都留有空白的容器内。各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于’center’。

1536047051(1).png

补充

day07前端学习html与css_第20张图片
day07前端学习html与css_第21张图片
day07前端学习html与css_第22张图片
意义:把除了三个div之外的剩余空白部分分成六份,分给栏目一一份,栏目二两份,栏目三三份。
day07前端学习html与css_第23张图片
day07前端学习html与css_第24张图片

html中form表单

day07前端学习html与css_第25张图片
day07前端学习html与css_第26张图片

input标签

day07前端学习html与css_第27张图片
day07前端学习html与css_第28张图片
示例代码:


"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    Document


    
"www.baidu.com"> 单行文本框: "text" id="username" name="username">
不能编辑的文本框:"text" id="username2" name="username" readonly="readonly">
密码框:"password" name="password" id="password">
隐藏域:"hidden" id="hidden" name="hidden">
第一组单选框:
红:"color" name="color" type="radio" value="red"> 绿:"radio" id="color2" name="color" value="green"> 蓝:"radio" name="color" id="color3" value="blue">
第二组单选框:
男性: "radio" name="gender" id="gender" value="male"> 女性: "radio" name="gender" id="gender2" value="female">
两个复选框:
"checkbox" name="website" id="website" value="leegang.org"> "checkbox" name="website" id="website2" value="crazyit.org">
文件上传域: "file" name="file" id="file">
图像域:"image" src="index1.jpg" alt="疯狂java联盟" width="27" height="31">
下面是四个按钮
"submit" name="ok" id="ok" value="提交"> "submit" name="dis" id="dis" value="提交" disabled> "reset" name="cancel" id="cancel" value="重填"> "button" name="no" id="no" value="无动作">

代码效果
day07前端学习html与css_第29张图片

label标签

day07前端学习html与css_第30张图片
当鼠标点击文本框前面的文字的时候,文本框会获得焦点,用户体验更好

button标签

day07前端学习html与css_第31张图片

select标签与option标签

day07前端学习html与css_第32张图片
day07前端学习html与css_第33张图片
代码示例:


"en">

    "UTF-8">
    "viewport" content="width=device-width, initial-scale=1.0">
    Document


    
"" method="GET"> 下面是简单下拉菜单:



下面是允许多选的列表框:

下面是允许多选的列表框:


效果图
day07前端学习html与css_第34张图片

textarea标签

day07前端学习html与css_第35张图片
day07前端学习html与css_第36张图片

fieldset与legend

day07前端学习html与css_第37张图片
day07前端学习html与css_第38张图片
代码示例:

"" method="GET">
基本信息 用户名: "text" id="username" name="username">
密码:"password" name="password" id="password">
附加信息 身高: "text" id="height" name="height">
出生地: "text" id="birth" name="birth">
毕业学校: "text" id="school" name="school">
"submit" value="提交" id="ok" name="ok">

效果图示:
day07前端学习html与css_第39张图片

html新增form属性

day07前端学习html与css_第40张图片

formaction属性

day07前端学习html与css_第41张图片
使用该属性不用给form加action,给提交按钮单独加即可

formxxx属性

day07前端学习html与css_第42张图片
day07前端学习html与css_第43张图片

autofocus属性

自动获得焦点属性
day07前端学习html与css_第44张图片

placeholder属性

文本框提示语
day07前端学习html与css_第45张图片

list属性

day07前端学习html与css_第46张图片
代码实现:

"" method="POST"> 请输入图书:"text" name="name" list="books"> "submit" value="购买">
"books">

效果图示:
day07前端学习html与css_第47张图片

自动完成属性:autocomplete属性

day07前端学习html与css_第48张图片

label的control属性

day07前端学习html与css_第49张图片

h5新增的input元素

day07前端学习html与css_第50张图片
day07前端学习html与css_第51张图片
day07前端学习html与css_第52张图片
day07前端学习html与css_第53张图片

meter属性

day07前端学习html与css_第54张图片

使用校验属性进行校验

指定某文本框必须填写,符合什么格式等等,日期,价格在什么范围之内
day07前端学习html与css_第55张图片
day07前端学习html与css_第56张图片
代码实现:

	
	<form action="" method="POST">
        图书名:<input type="text" name="name" required><br>
        图书ISBN:<input type="text" name="isbn" required pattern="\d{3}-\d-\d{3}-\d{5}"><br>
        图书价格:<input type="number" value="" name="price" min="20" max="150" step="5">
        <input type="submit" value="购买">
    </form>

效果图示:
day07前端学习html与css_第57张图片

调用checkValidity方法进行校验

用js来实现弹窗提示输入错误
day07前端学习html与css_第58张图片
day07前端学习html与css_第59张图片
代码实现:

"" method="POST"> 生日:"date" name="birth" id="birth">
邮件地址:"email" name="email" id="email">
"submit" value="提交" οnclick="return check();">

效果图示:
day07前端学习html与css_第60张图片

自定义错误提示

day07前端学习html与css_第61张图片
day07前端学习html与css_第62张图片
代码实现:

	
图书名:
图书ISBN:{3}-\d-\d{3}-\d{5}">
图书价格:"number" value="" id="price" name="price" min="20" max="150" step="5"> "submit" value="购买" οnclick="check();">

效果图示:
day07前端学习html与css_第63张图片

关闭校验

day07前端学习html与css_第64张图片

使用audio和video属性

day07前端学习html与css_第65张图片
day07前端学习html与css_第66张图片

你可能感兴趣的:(#,前端)