发表于: 2019-03-02 23:51:51

1 805


Day 30


今天完成的事情

 

      1.完成task7-1

      2.大致完成task7-2


遇到的问题


      1.【unsolvedrem在超大屏上显示几乎缩小了一半

vh代替rem:页面可能延伸,导致各种设置变形

vw代替rem:页面比例极大,同样体验不适


不知道该怎么办了

      2.solved设置了body {height=100%;width=100%}.右边的图标还是出了屏幕外

怀疑是有什么撑开了body的宽度,但三个标签都设置了absolute脱离了文档流也还是没能解决问题,一脸懵

屏幕宽度是417,页面宽度是417.6......这不是为难我吗

 

网上说在使用fixed,absolute 布局时,如果设置了左右方向的marg,pad等,在使用width:100%,最终的实际宽度等于全屏宽度+pading值,

翻来翻去也没找到padding在哪里,

最后舍弃了position,改用float,好了

最后的最后,意外发现页面可以拖动,才知道原来页面外有这么一大块空间,但超出的部分并不是html,而是

audio被隐藏掉的控制条!我找你找的好苦

      3.solved既有audio图标,可控,又能隐藏浏览器自带的控制进度条

设置 audio{

opacity=0

}

1、opacity=0只是透明度为100%,元素隐藏,依然占据空间。 

2、opacity=0会被子元素继承,且子元素并不能通过opacity=1,进行反隐藏。

3、opacity=0的元素依然能触发已经绑定的事件。 

4、opacity,transition对她有效(毫无争议)

       4.solved同一个父元素下有两个p标签,

使用 父元素 p:nth-of-type(2

如果少了父元素 则会在根元素下进行寻找,且容易混乱

      5.【unsolved设置了header的高度,但background-color无效

注意到header被后面的东西覆盖了

意识到可以使用z-index,解决


footer出现了同样的问题,设置了高度和z-index,仍然不能解决问题

      6.solved中间的P标签总是不能水平居中设置了text-align也不行

最后将p标签设置为block。并设置宽度为父元素%,利用%实现居中



收获


      1.字体居中

① 使用text-align水平居中

② 设置line-height 为容器高,实现垂直居中

      2.vh

rem:相对单位,基准点为根元素字体的大小

1vw就是视窗宽度的1%

1vh就是视窗高度的1%

vmax相对于视口的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax。
vmin相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin。

      3.用css画三角形,不能算收获吧,因为之前有学习过,很明显自己没有长记性,总结一下

法一:利用border

上下左右

根据代码渲染,0px高宽,且边框厚度为100px。显示如下

                      

然后去掉其余三边颜色

例:border-color: transparent transparent #ffffff transparent;

(             下       )

即得一个向上的箭头

其他


蓝色三角形(bottom)其实从它的顶点垂直下来一条线为准,将蓝色三角形分为左右两个小三角形,左边小三角形底边受left值影响,右边小三角形底边受right值影响。

border-width: 0px 0px 100px 100px;即得上图蓝三角

法二:使用伪类

 

planA空心对话框实现思路:

使用::after添加一个方块,上右border黑色,然后旋转45度放在图示位置挡住原本的border;

要点:关于top,left的数据问题,需要考虑边界,正常认为是top:30px;left:90px;但是实际却会偏移,这是因为border的原因,需要把自身的border也考虑在内。

实现代码及样式数据如下

planB实心对话框实现思路:

content 属性与 :before :after 伪元素配合使用,来插入生成内容。

通过div的伪类:after,给他添加content,调整content的边距来达到三角形效果,border-leftborder-right的宽度来改变箭头的宽度,border-top的边框宽度改变箭头的长短。


      4.:nth-of-type与e:nth-of-type(n)

:nth-of-type是以"type"来区分的。也就是说:e:nth-of-type(n)是指父元素下第n个e元素, 

而e:nth-child(n)是指父元素下第n个元素且这个元素为e,若不是,则选择失败。


      5.font-weight和letter-spacing


以前一直觉得自己的字体比psd图上的字体粗壮很多,使用了font-weight:lighter 也没有什么用,今天特意去查了一下,才了解到原来也可以用数字来规定,200正好差不多是我要的细度

normal 默认值,文字正常显示
bold
文字加粗显示

bolder    定义更粗的字符。

Lighter 定义更细的字符。
bold
的值有:100 200 300 400(正常) 500 600 700(bold) 800 900

字间距----letter-spacing


      6.清除浮动

为防止浮动影响后续布局,特采用伪类的方式清除浮动

.header:after{
content:".";
display:block;
visibility:hidden;
height:0;
clear:both;
}


      7.尝试使用列表的方式完成九宫格

一个ul下三个li,使用百分比使其占满一行

共设三个ul


明天计划学习

      1.完成hover时出现的4个操作选择

      2.开始task7-3


注: 【unsolved】截日报发出前未解决的问题

        solved】已解决现象但并未从根本上解决问题

        solved】已解决



返回列表 返回列表
评论

    分享到