学习要点:
1.新版本
主讲教师:李炎恢
本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解。
一.新版本
新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,这个草案是由 W3C 推出的最新语法。这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现了统一。
首先,设置伸缩盒的 display 有如下两个属性值:
属性值 |
说明 |
flex |
将容器盒模型作为块级弹性伸缩盒显示(新版本) |
inline-flex |
将容器盒模型作为内联级弹性伸缩盒显示(新版本) |
//大部分不需要前缀
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> display</span>:<span style="color: #0000ff;"> flex</span>; }
属性 |
IE |
Firefox |
Chrome |
Opera |
Safari |
带前缀 |
无 |
无 |
21 ~ 28 |
无 |
7.0 |
不带前缀 |
11+ |
20+ |
29+ |
12.1 |
无 |
从这张表可以看出,只有 webkit 引擎的浏览器 Chrome 和 Safari 的版本需要添加-webkit-,而 Chrome 浏览器 29 版本以后可以省略了。
1.flex-direction
flex-direction 属性和旧版本 box-orient 属性一样,都是设置伸缩项目的排列方式。
//设置从上往下排列
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> flex-direction</span>:<span style="color: #0000ff;"> column</span>; }
属性值 |
说明 |
row |
设置从左到右排列 |
row-reverse |
设置从右到左排列 |
column |
设置从上到下排列 |
column-reverse |
设置从下到上排列 |
2.flex-wrap
flex-wrap 属性类似与旧版本中的 box-lines,但是 box-lines 我们没有讲解,原因是没有浏览器支持它。
//设置无法容纳时,自动换行
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> -ms-flex-wrap</span>:<span style="color: #0000ff;"> wrap</span>; }
属性值 |
说明 |
nowrap |
默认值,都在一行或一列显示 |
wrap |
伸缩项目无法容纳时,自动换行 |
wrap-reverse |
伸缩项目无法容纳时,自动换行,方向和 wrap 相反 |
3.flex-flow
flex-flow 属性是集合了排列方向和控制换行的简写形式。
//简写形式
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> flex-flow</span>:<span style="color: #0000ff;"> row wrap</span>; }
4.justify-content
justify-content 属性和旧版本中的 box-pack 一样,设置伸缩项目的对其方式。
//按照中心点对齐
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> justify-content</span>:<span style="color: #0000ff;"> space-around</span>; }
属性值 |
说明 |
flex-start |
伸缩项目以起始点靠齐 |
flex-end |
伸缩项目以结束点靠齐 |
center |
伸缩项目以中心点靠齐 |
space-between |
伸缩项目平局分布 |
space-around |
同上,但两端保留一半的空间 |
5.align-items
align-items 属性和旧版本中的 box-align 一样,处理伸缩项目容器的额外空间。
//处理额外空间
<span style="color: #800000;">div </span>{<span style="color: #ff0000;"> align-itmes</span>:<span style="color: #0000ff;"> center</span>; }
属性值 |
说明 |
flex-start |
伸缩项目以顶部为基准,清理下部额外空间 |
flex-end |
伸缩项目以底部为基准,清理上部额外空间 |
center |
伸缩项目以中部为基准,平均清理上下部额外空间 |
baseline |
伸缩项目以基线为基准,清理额外的空间 |
stretch |
伸缩项目填充整个容器,默认 |
6.align-self
align-self 和 align-items 一样,都是清理额外空间,但它是单独设置某一个伸缩项目的。所有的值和 align-itmes 一致。
//单独设置清理额外空间
<span style="color: #800000;">p:nth-child(2) </span>{<span style="color: #ff0000;"> align-self</span>:<span style="color: #0000ff;"> center</span>; }
7.flex
flex 属性和旧版本中的 box-flex 类似,用来控制伸缩容器的比例分配。
//设置比例分配
<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 1</span>; }<span style="color: #800000;"> p:nth-child(2) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 3</span>; }<span style="color: #800000;"> p:nth-child(3) </span>{<span style="color: #ff0000;"> flex</span>:<span style="color: #0000ff;"> 1</span>; }
8.order
order 属性和 box-ordinal-group 属性一样控制伸缩项目出现的顺序。
//设置伸缩项目顺序
<span style="color: #800000;">p:nth-child(1) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 2</span>; }<span style="color: #800000;"> p:nth-child(2) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 3</span>; }<span style="color: #800000;"> p:nth-child(3) </span>{<span style="color: #ff0000;"> order</span>:<span style="color: #0000ff;"> 1</span>; }

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

HTML是一种用于构建网页的语言,通过标签和属性定义网页结构和内容。1)HTML通过标签组织文档结构,如、。2)浏览器解析HTML构建DOM并渲染网页。3)HTML5的新特性如、、增强了多媒体功能。4)常见错误包括标签未闭合和属性值未加引号。5)优化建议包括使用语义化标签和减少文件大小。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载
最流行的的开源编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境