发表于: 2018-05-15 22:36:18
3 596
今天的事情:完成任务5
明天的事情: 进行任务6
遇到的问题:
问题一、flex 怎么布局头部两个项目,使得一个固定于左侧,一个相对于整个头部居中:
解决办法:设置第一个项目宽度 33% 第二个项目宽度33%
再使得第二个项目内元素居中,即可
问题二: 头部第一个项目未准确达到1/3,修改width=33%为33.333333%
问题三:容器 height:100% 不起作用 ,解决办法谷歌到以下信息
当设计一个页面时,你在里面放置了一个div元素,你希望它占满整个窗口高度,最自然的做法,你会给这个div添加height: 100%;的css属性。然而,如果你要是设置宽度为width: 100%;,那这个元素的宽度会立刻扩展到窗口的整个横向宽度。高度也会这样吗?
错。
为了理解为什么不会,你需要理解浏览器是如何计算高度和宽度的。Web浏览器在计算有效宽度时会考虑浏览器窗口的打开宽度。如果你不给宽度设定任何缺省值,那浏览器会自动将页面内容平铺填满整个横向宽度。
但是高度的计算方式完全不一样。事实上,浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。
因为页面并没有缺省的高度值,所以,当你让一个元素的高度设定为百分比高度时,无法根据获取父元素的高度,也就无法计算自己的高度。换句话说,父元素的高度只是一个缺省值:height: auto;。当你要求浏览器根据这样一个缺省值来计算百分比高度时,只能得到undefined的结果。也就是一个null值,浏览器不会对这个值有任何的反应。
观看演示
上面的演示例子是父元素没有设定固定高度,于是子元素的高度height: 100% 也不会起作用。你可以根据父元素的背景色来判断子元素的高度不是100%。
那么,如果想让一个元素的百分比高度height: 100%;起作用,你需要给这个元素的所有父元素的高度设定一个有效值。换句话说,你需要这样做:
<html>
<body>
<div style="height: 100%;">
<p>
想让这个div高度为 100% 。
</p>
</div>
</body>
</html>
现在你给了这个div的高度为100%,它有两个父元素<body>和<html>。为了让你的div的百分比高度能起作用,你必须设定<body>和<html>的高度。
<html style="height: 100%;">
<body style="height: 100%;">
<div style="height: 100%;">
<p>
这样这个div的高度就会100%了
</p>
</div>
</body>
</html>
问题四: 默认按钮下右边框自带阴影,解决办法:重新设置border覆盖默认样式即可
问题五:背景图片变形: 谷歌到解决办法:css3 图片拉伸
利用 background-size 属性规定背景图片的尺寸。
在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在 CSS3 中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。
您能够以像素或百分比规定尺寸。如果以百分比规定尺寸,那么尺寸相对于父元素的宽度和高度。
问题六:address 标签默认斜体,解决办法:重新设置样式覆盖
问题七:tr边框无效 谷歌到以下解决办法 https://blog.csdn.net/chenssy/article/details/8453495
问题八:用table布局主体第二部分 无法实现设计图竖直短边框,重做改用flex布局
问题九:自我介绍栏目 未居中 设置 align-items: center;
问题十:专业技能栏宽度超出页面 解决方法:调试发现左右内边距误设置,去除解决
任务总结:
学习并掌握了 flex布局
阅读了css规范
掌握flex 布局使得头尾固定,中间滚动方法 :
设置容器占满屏幕,header,footer,main三个项目按列排列 , main 项目flex-grow=1,头尾 flex-grow默认0 ,并且设置main overflow 属性为auto
.page {
display: flex;
height: 100%;
flex-direction: column;
/*justify-content: space-between;*/
margin: 0;
padding: 0;
}
footer {
display: flex;
justify-content:space-between;
align-items: center;
min-height: 2rem;
}
main {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
overflow: auto;
min-height: 10rem;
}
footer {
display: flex;
justify-content:space-between;
align-items: center;
min-height: 2rem;
}
任务头部返回图标 高度=字体高度
底部: 按钮的宽度等于底部一半减去左外边距再减去右外边距
width: calc(calc(100%) - calc(1.5rem)); /* 按钮大小等于容器减去左右外边距*/
学习掌握了边框圆角属性
掌握 ps 裁剪圆形图片 https://jingyan.baidu.com/article/e75aca8565e466142fdac641.html
掌握了多重背景图片 https://blog.csdn.net/q1056843325/article/details/53179419
照片层级为代码层级
学习了 html 表格 http://www.w3school.com.cn/html/html_tables.asp
深度思考:
1.css可以绘制哪些常见的特殊形状?
https://blog.csdn.net/aerchi/article/details/52909158
https://blog.csdn.net/cd_yaorao/article/details/78671586
2.如何理解vertical-align与line-height?
http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/
评论