发表于: 2019-04-28 23:01:46

2 978


今天完成的事情:

1.继续css任务12

2.用sass来优化css写法,优化代码

3.学习JavaScript

明天计划的事情:

1.完成css任务12

2.开始css任务十三

2.继续学习JavaScript

3.CSS基础知识查漏补缺

遇到的问题:

1.纯css实现下拉框效果

    纯粹用CSS实现的下拉菜单主要有两种思路:一种是通过visibility属性的切换,另一种是基于display属性的切换。二者在大体的结构上是一致的,只是对于二级子菜单的隐藏和显示的实现策略上有所不同。

    共同点在于:

           1)必须将最外层的ul元素的padding属性设为0,以保证整个下拉菜单中的没有无序列表中的自动缩进。同时,将list-style-type设为none,以去除列表项前的标记。

           2) 如果主菜单需要横向,则需要把li元素设置为浮动元素,即float: left。

            3)使二级子菜单呈一列的方法是将二级列表的ul元素和li元素设置为相同的宽度。

           4)必须把二级列表的ul元素的position属性为absolute,以保证将该元素及其子元素从文件流中去除,这样一来当二级菜单显示的时候不会影响下面的其它元素。

           5)下拉菜单后面的页面元素,需要把clear属性设置为left或者both。这是因为下拉菜单被设为了浮动元素,如果不这样做的话后面的页面元素的位置将会不恰当。

           6)需要通过伪类:link、:visited以及:hover来设置元素有焦点和没有焦点时的颜色状态等。

    不同点如前所述,即是:当一级菜单项没有焦点的时候,方法一会把二级菜单的ul元素的visibility属性设为hidden,使整个二级菜单不可见;当有焦点的时候,需要把相应的二级菜单的visibility属性改为visible,使其可见。而方法二则将需要不可见的二级菜单ul元素的display元素设为none,当需要可见的时候改为block。

    上述状态的切换均通过伪类来完成而不调用JavaScript。

收获:

1.~选择器和+选择器的差别:

   ~选择器是选中某个标签后面的所有此类,同级的标签。

   例:下面在一个p下面选择了span   p ~span{ color:red},所有的span都变成了红色

               

        +选择器是选中某个标签后面的一个此类标签元素

        例:下面我在一个p下面选择了span   p +span{ color:red},后面第一个span变成了红色

               



返回列表 返回列表
评论

    分享到