点击锚点让定位偏移顶部

2014-11-03 12:54:20

最近遇到的问题是:网页多出需要设置锚点,但网站顶部导航采用float:fixed绝对定位,浮动于顶部。那么问题来了,锚点定位必然定位于页面顶部,这样一来就会被浮动的导航遮挡。

在stackoverflow看到的一个方法是在主体内容前加一个暗锚:

主体内容...

将锚点进行偏移,并隐藏占位:

.target-fix { position: relative; top: -44px; // 偏移值 display: block; height: 0; overflow: hidden; }

这个也是最直接的方法。

我采用的是相对简洁的方法:对于现代浏览器如果支持css的:target声明,可以这么设置:

article.a-post:target{ padding-top:44px; }

对于IE这等落后的浏览器是不支持的.另外可以使用js去调整scroll,比如使用jQuery:

$(function(){ if(location.hash){ var target = $(location.hash); if(target.length1){ var top = target.offset().top-44; if(top > 0){ $('html,body').animate({scrollTop:top}, 1000); } } } });

可以使用jquery-hashchange:https://github.com/cowboy/jquery-hash…

绑定window.onhashchange事件:

$(function(){ /* 绑定事件/ $(window).hashchange(function(){ var target = $(location.hash); if(target.length1){ var top = target.offset().top-44; if(top > 0){ $('html,body').animate({scrollTop:top}, 1000); } } }); / 触发事件 */ $(window).hashchange(); });

关于window.onhashchange事件:[https://developer.mozilla.org/en-US/d…](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange "https://developer.mozilla.org/en-US/d...")  
document.getElementById("xx").style.xxx中的所有属性

盒子标签和属性对照CSS语法(不区分大小写)JavaScript语法(区分大小写)borderborderborder-bottomborderBottomborder-bottom-colorborderBottomColorborder-bottom-styleborderBottomStyleborder-bottom-widthborderBottomWidthborder-colorborderColorborder-leftborderLeftborder-left-colorborderLeftColorborder-left-styleborderLeftStyleborder-left-widthborderLeftWidthborder-rightborderRightborder-right-colorborderRightColorborder-right-styleborderRightStyleborder-right-widthborderRightWidthborder-styleborderStyleborder-topborderTopborder-top-colorborderTopColorborder-top-styleborderTopStyleborder-top-widthborderTopWidthborder-widthborderWidthclearclearfloatfloatStylemarginmarginmargin-bottommarginBottommargin-leftmarginLeftmargin-rightmarginRightmargin-topmarginToppaddingpaddingpadding-bottompaddingBottompadding-leftpaddingLeftpadding-rightpaddingRightpadding-toppaddingTop颜色和背景标签和属性对照CSS 语法(不区分大小写)JavaScript 语法(区分大小写)backgroundbackgroundbackground-attachmentbackgroundAttachmentbackground-colorbackgroundColorbackground-imagebackgroundImagebackground-positionbackgroundPositionbackground-repeatbackgroundRepeatcolorcolor 样式标签和属性对照CSS语法(不区分大小写)JavaScript 语法(区分大小写)displaydisplaylist-style-typelistStyleTypelist-style-imagelistStyleImagelist-style-positionlistStylePositionlist-stylelistStylewhite-spacewhiteSpace 文字样式标签和属性对照CSS 语法(不区分大小写)JavaScript 语法(区分大小写)fontfontfont-familyfontFamilyfont-sizefontSizefont-stylefontStylefont-variantfontVariantfont-weightfontWeight 文本标签和属性对照CSS 语法(不区分大小写)JavaScript 语法(区分大小写)letter-spacingletterSpacingline-breaklineBreakline-heightlineHeighttext-aligntextAligntext-decorationtextDecorationtext-indenttextIndenttext-justifytextJustifytext-transformtextTransformvertical-alignverticalAlign

/tmp/crontab bad command 问题所在

最近玩树莓派遇到的一个小问题,其实是常识问题而已,记录下。 用树莓派raspberry+yeelink+手机在做一个远程视频监控的玩意,结果设置crontab定时任务时,修改完crontab保存失败,出现以下提示: no crontab for pi - using an empty one crontab : installing new crontab "/tmp/crontab.QhPk4T/crontab":23: bad command errors in crontab file, can't install 我写的定时任务为: */1****/home/pi/camera.sh 结果就出事了,search了半天也没头绪,看网上大家都是这么写的,最后发现是crontab格式写错了= = crontab 的语句是“分 时 日