这几天主要做的是前端网页的调整和页面UI的优化方面的内容。这中间主要是学习了一些基本的HTML和css样式的基本元素的属性。设置行高的line-heght属性,设置窗口的浮动用position属性,设置字体字号的属性使用font-size和font-family属性。
这中间遇到了一个较大的问题就是原先使用的左侧悬浮菜单不能随着屏幕的缩小而隐藏,导致商品页面经常被遮挡,严重影响用户体验。原先的css样式代码如下:
.top-left{ width:104px; top:8%; left:10%; position:absolute; background-color: #f1edee;}
修改后的代码如右:.top-left{width:104px;position:fixed; right:50%; margin-right:620px; background-color: #fiedee;}这样写主要是让right属性和margin-right属性搭配起来,保证左侧的悬浮菜单一直保持在距离中间线620px的地方,使得悬浮菜单可以在屏幕变换的时候一直保持在商品的外侧,不会遮挡住商品的显示页面。这只是我自己的一点点简单甚至粗暴的简单办法。希望有更好的办法在屏幕尺寸变换的时候,缩小菜单直至隐藏的效果。问了保证悬浮菜单在上下滚动滚轮是保持在一个固定的位置,并且在页面到达最上方的时候不出现遮挡上面的图片的情况,我们使用了js中的scrollTop()方法,具体代码如下:
$(window).scroll(function(){
if($(window).scrollTop() < 某个特定值 )(){
$('.top-left').css('position','absolute').css('top', '某个特定值')
}
else{
$('.top-left').css('position','fixed').css('top', '某个特定值') }
})
简单罗列出position的各个属性:
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。