对于写网页需要的基础知识一定要牢牢掌握,比如,每个网页都需要的导航栏,一定要熟练掌握;下拉菜单最常用的是 ul 和 li 标签,也就是列表元素;对于一些标签,一定要知道是块级元素还是行内元素,要掌握他们之间的转换方法,这个也是非常常用的。对于css的盒子模型,一定要认真地学习,并且能熟练的运用。
是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。 引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、 对齐和分配空白空间。
弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。
弹性容器内包含了一个或多个弹性子元素。
注意: 弹性容器外及弹性子元素内是正常渲染的。弹性盒子只定义了弹性子元素如何在弹性容器内布局。
弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行。
当为父盒子设为flex布局,子元素的float、clear和vertical—align属性将失效
flex布局原理:通过给父盒子添加flex属性,来控制子盒子的位置好排列方式
flex布局父项常见的属性:
1.flex-diretion:设置主轴的方向
默认的主轴方向是x轴方向,水平方向;默认的侧轴方向是y轴方向,水平向下
属性值:row 默认值从左到右
row-reverse 从右到左
column 从上到下
column 从下到上
2.jusity-content:设置主轴上的子元素排列方式
属性值: flex-start 默认值从头开始 如果主轴是x轴,则从左到右
flex-end 从尾部开始排列
center 在主轴居中对齐(如果主轴是x轴则水平居中)
space-around平分剩余空间
space-between 先两边贴边再平分剩余空间(重要)
3.flex-wrap:设置子元素是否换行
属性值: nowrap 默认子元素不换行 如果装不下,会缩小子元素的宽度,一块放到父元素中
wrap 换行
4.align-content:设置侧轴的子元素排列方式(多行 需要换行) 单行无效
属性值: flex-start 默认值在侧轴的头部开始排列
flex-end 在侧轴的尾部开始排列
center 在侧轴中间显示
space-around 子轴在侧轴平分剩余空间
space-between 轴在侧轴先分布在两头,再平分剩余空间
stretch 设置子项元素高度平分父元素高度
5.align-items:设置侧轴的子元素排列方式(单行)
属性值: flex-start 从上到下
flex-end 从下到上
center 挤在一起(垂直居中)
stretch 拉伸(默认值) 使用时子盒子不要给高度
例如:子元素居中 默认主轴是x轴
主轴居中 jusity-content:center
侧轴居中 align-items:center
6.flex-flow:复合属性,相当于同时设置了flex-diretion和flex-wrap
flex布局子项常见属性
1.flex定义子项目分配剩余空间,用flex来表示占多少份数
flex:<number>默认值 0
2.align-self控制子项自己在侧轴的排列方式
3.order属性定义子项的排列顺序(前后顺序)
给父元素添加 display:grid
display关于网格的取值分为两个,grid(块网格)和 inline-grid (行内网格 行内块)
grid 容器从上向下排列
inline-grid 容器从左向右排列
grid-template-row规定行属性
grid-template-column规定列属性
1.绝对大小(根据列数或者行数确定值得个数)
grid-template-row:200px 200px 200px
grid-template-column:200px 200px 200px
2.百分比(根据列数或者行数确定值得个数)
grid-template-row:33.33% 33.33% 33.33%
grid-template-column:33.33% 33.33% 33.33%
3.repeat函数
grid-template-rows: repeat(3,33.3%)
grid-template-columns: repeat(3,33.3%)
4.repead auto-fill 自动填充
grid-template-rows: repeat(auto-fill,33.3%)
grid-template-columns: repeat(auto-fill,33.3%)
5.fr 片段
grid-template-rows: 100px 1fr 300px
grid-template-columns: 100px 1fr 300px
6.minmax
grid-template-rows:minmax(100px,200px) 200px 300px
grid-template-columns:200px 200px 200px
7.auto
grid-template-rows: 100px auto 300px
grid-template-columns: 100px auto 300px
列间距
1.grid-row-gap: 10px
grid-column-gap: 10px
复合写法
grid-gap: 10px 10px
指定区域
1.grid-template-areas: 'a b c '
'd e f'
'g h i'
区域合并时 需要让合并的区域名字相同
grid-template-areas: 'a a c '
'd e f'
'g h i'
.box div:nth-child(1){
grid-area: a
}
以上两种网页布局方式是我制作网页时比较常用的,也是学习前端必须掌握的。
除了以上这些,还有很多是我们需要掌握的,加油吧继续学习!!!!!!下周分享js学习总结
说一说自己的体会吧,也不一定正确1.简单理解html就是文本语言,诸多元素定义成一个页面框架,是之能在浏览器上显示
2.css是对html进行外观设置,比直接在html里面设置更加整洁,减少代码冗余方便维护,加载速度快,而且css中的许多伪类可以帮助实现诸多页面效果
3.javascript是脚本语言,可以对dom进行操作,方便页面设置,帮助实现画面动作,验证,表单提交等等操作
width:192pxheight:55pxmargin-top:100pxbackground:url(images/anniu01.gif) no-repeat left bottom要将上面的改成
width:192pxheight:155pxbackground:url(images/anniu01.gif) no-repeat left 50px
2.尽量用padding-top:,少用margin-top
今天总算升级到IE8了,感觉CSS的写法要想同时适应IE6、IE7、IE8、FireFox,有以下几个基本的窍门。
1、使用float后必须clear,否则IE8显示错误。
2、h1,h2,h3,ul,li,dl,dt,dd,p...最好定义margin:0和padding:0,否则各种浏览器显示有误差。
3、line-height值最好是偶数,奇数显示有误差。
4、input 的text和password两种形式在IE8不定义字体(宋体)下长度高度不一样,可将input定义为font-family:Arial。
5、如果想在标题前后加小图标,最好不要直接用img,用img的话IE6行间距会缩小,应该用<li>加背景的形式。
...今天暂时只发现这几点,更多的以后继续总结。
实在不行再用分开定义的办法:
div {
margin:0/* 给全部浏览器看 */
*margin:10px/* 给IE6、IE7看 */
_margin:20px/* 只给IE6看 */
}
附:基本CSS样式表
<style type="text/css">
body {
margin:0
font-size:9pt
line-height:18px
}
h1,h2,h3,ul,li,dl,dt,dd,p {
margin:0
padding:0
}
ul {
list-style:none
}
form {
margin:0
}
input,textarea,select {
font-family:Arial
font-size:9pt
}
.clear {
clear:both
}
</style>