小编Jef*_*eff的帖子

如何实现正确的CSS行高一致性

我的基本的CSS规则font-sizeline-height非常简单:

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 24px;
}
Run Code Online (Sandbox Code Playgroud)

当我创建包含一个段落的<em><strong>(或者甚至一些<code>其使用不同的font-size<body>),我注意到,这些元件由一个或两个像素增加行高.

这让我相信大多数浏览器都会使用最大的内联元素来显示line-height.是对的吗?

我的目标是使line-height一致,无论哪些元素是内联的.

我发现line-height保持一致的唯一方法是定义:

em, strong, code, etc {
    line-height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?或者我是一个完美主义者?

编辑1:

这似乎也有效:

em, strong, code, etc {
    line-height: 1;
}
Run Code Online (Sandbox Code Playgroud)

编辑2:

在玩了几天后,似乎没有一个可靠的解决方案来保持一致line-height.如果有人有任何想法,我当然喜欢听他们.

编辑3:

对于我自己将来的参考和我自己的研究,line-height: 1只要它们与其他标准正文文本一起显示在内,就应该考虑这些标记:

abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, q,
samp, …
Run Code Online (Sandbox Code Playgroud)

css

9
推荐指数
1
解决办法
2万
查看次数

为什么Google会覆盖他们的Google Analytics跟踪代码?

刚下载我的JavaScript训练轮.

为什么谷歌选择unescapedocument.write行于第1部分下面?

他们为什么不这样写呢?unescape某些较旧的浏览器兼容性可能需要?

document.write('<script src="'
    + gaJsHost
    + 'google-analytics.com/ga.js" type="text/javascript"></script>');
Run Code Online (Sandbox Code Playgroud)

作为参考,整个Google Analytics跟踪代码如下所示:

第1部分:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol)
    ? "https://ssl."
    : "http://www."
);
document.write(unescape("%3Cscript src='"
    + gaJsHost
    + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"
));
</script>
Run Code Online (Sandbox Code Playgroud)

第2部分:

<script type="text/javascript">
try
{
    var pageTracker = _gat._getTracker("UA-0000000-0");
    pageTracker._trackPageview();
}
catch(err){}
</script>
Run Code Online (Sandbox Code Playgroud)

我理解其余代码的作用,只是对unescape部分感到好奇.

编辑

底线unescape是必需的.投票结束这个问题因为它是重复的(见答案标记正确).

javascript google-analytics

7
推荐指数
1
解决办法
1012
查看次数

设置PHP的正确方法包括*Nix和Windows的路径

这是*nix和Windowsdefine的包含路径的正确方法吗?

define( 'INCPATH', realpath( dirname( __FILE__ ) ) . '/' );
Run Code Online (Sandbox Code Playgroud)

请注意上面包含的尾随正斜杠.两个操作系统的包含/需要相同的正斜杠吗?

编辑(更新答案):

根据我的收集,下面的代码是为nix和Windows操作系统普遍定义include/require路径的正确方法.请在下面的评论中随意更正任何内容.

令我感到困惑的是我看到的许多例子显示替换back-slashes (\)forward-slashes(/).根据以下一些答案,这是不必要的.

所以最终的正确代码(纯粹主义者)是:

define( 'INCPATH', realpath( dirname( __FILE__ ) ) . DIRECTORY_SEPARATOR );
Run Code Online (Sandbox Code Playgroud)

该代码产生以下结果:

*nix: /path/to/the/file/

Windows: C:\Path To\the\file\

一个简短的解释,从内部(__FILE__)out(realpath())开始工作:

FILE文件的完整路径和文件名.始终包含已解析符号链接的绝对路径.

dirname()返回的字符串是删除了任何尾部/组件的路径.负责删除文件名.

realpath()成功返回规范化(标准化/标准化)绝对路径名.生成的路径将没有符号链接'/./''/../'组件.我认为这包括彻底性,因为__FILE__已经解决了符号链接.或者它可能包括解决相对路径?无论哪种方式,它似乎巩固了我们的目标.

php unix linux windows include-path

7
推荐指数
1
解决办法
9498
查看次数

如何重新映射Vim键(PageUp和PageDown)

我想重新映射<PageUp><C-u>PageDown<C-d>Vim的滚动文档.

就目前而言,我/etc/vim/vimrc看起来像这样:

nnoremap <PageUp> <C-u>
nnoremap <PageDown> <C-d>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多不同的组合,我所做的一切都没有效果.

我的目标是在按住PageUp/PageDown时将光标移动到文件开头或EOF.就像现在一样,光标在它一直到达顶部之前停止(并且PageDown滚动超过EOF).只是烦恼,我正在努力解决.

编辑:以上设置工作正常.我在文件中过早地放置了映射.

vim keyboard-shortcuts

7
推荐指数
2
解决办法
6253
查看次数

滚动列表时,Sublime Text自动完成窗口关闭

使用up或滚动自动完成列表时down,如果在任一方向上走得太远(例如,没有更多建议),列表将关闭.

我想要的行为是在到达结束而不是关闭时使列表换行.

通过分配此热键,可以通过向下滚动轻松修复:

{ "keys": ["down"], "command": "auto_complete", "context":
    [ { "key": "auto_complete_visible" } ]
},
Run Code Online (Sandbox Code Playgroud)

这是因为该auto_complete命令具有内置功能,可以在每次调用时向下滚动,这就是热键的工作原理.

......但向上滚动是不同的.我尝试了大约20种不同的热键和宏组合但没有成功.

我几乎可以肯定,实现这种行为的唯一方法是使用插件,但不幸的是我的Python技能等级为零.

如果重要,我用ctrl+ 手动调用自动完成space(自动弹出窗口被禁用).

我正在使用Sublime Text 2.

autocomplete sublimetext sublimetext2 sublimetext3

7
推荐指数
1
解决办法
835
查看次数

CSS文本选择游标ie7,奇怪的行为

奇怪的是,希望得到一些反馈,指出我正确的方向.

如果我#wrapper或任何子div没有应用背景颜色,ie7将正常的"指针"光标改为"文本选择"光标,当鼠标围绕页面时(无论是否将鼠标放在文本上).

我以为我已经修复了这个问题,但是当我从我#wrapper或任何一个子div中删除背景颜色时,问题又重新出现了.

只是寻找一些提示或我应该检查什么.

#wrapper {
    overflow: hidden;
    margin: 0 auto;
    width: 960px; /* using 960.gs */
}

#children {
    display: inline;
    float: left;
    margin: 0 10px;
    width: 940px;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

似乎是因为div"hasLayout",但我仍然不确定如何解决它.看到这个链接.

编辑2:

我找不到关于这个"ie7 bug"的更多信息.有任何想法的人,或者即使你知道这个bug,也可以让我知道所以我知道我并不疯狂.我再次对微软感到非常沮丧.本周已经花了我额外的几个小时的工作.好像它永远不会结束.

编辑3:

这是另一个有同样问题的人的链接.

编辑4:

STACKOVERFLOW.com遭受这个错误!所以呢mashable.com.我保证很多网站开发者在他们的网站上都有这个错误,他们甚至都不知道.

自己检查一下......将光标悬停在任一站点的页面上.注意,它不应该转向文本选择光标.

似乎很容易修复cursor属性,但问题是在需要时会触发正确的text-select-cursor行为.

css internet-explorer-7

6
推荐指数
1
解决办法
5698
查看次数

在每个浏览器中加载html5shiv是否有任何不良副作用?

html5shiv Google Code页面上,示例用法包括IE条件:

<!--[if lt IE 9]>
    <script src="dist/html5shiv.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

但是在html5shiv github页面上,描述说明:

此脚本是在旧版Internet Explorer中使用HTML5分区元素以及在Internet Explorer 6 - 9,Safari 4.x(和iPhone 3.x)以及Firefox 3.x中使用默认HTML5样式的实际方法.

一个明显的矛盾.所以为了满足我的好奇心,对于那些研究过代码的人来说,在每个浏览器中加载html5shiv都有任何不利的副作用(没有IE条件)?

编辑:显然,我的目标是在没有IE条件的情况下使用shiv.

javascript browser html5

6
推荐指数
1
解决办法
890
查看次数

检查有效的gravatar(PHP)

我对PHP很新,所以如果你有任何想法或建议指出我正确的方向,我将不胜感激.

尝试创建一个简单的函数来检查用户的电子邮件地址是否转换为有效的Gravatar图像,但似乎gravatar.com已更改其标题.

使用get_headers('urlencoded_bad_email@example.com')返回200而不是302.

以下是来自糟糕的重力图像的标题,其中没有一个似乎能够提供帮助,因为它们与有效的重力图像相同:

array(13) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(13) "Server: nginx"
  [2]=>
  string(35) "Date: Sun, 26 Jul 2009 20:22:07 GMT"
  [3]=>
  string(24) "Content-Type: image/jpeg"
  [4]=>
  string(17) "Connection: close"
  [5]=>
  string(44) "Last-Modified: Sun, 26 Jul 2009 19:47:12 GMT"
  [6]=>
  string(76) "Content-Disposition: inline; filename="5ed352b75af7175464e354f6651c6e9e.jpg""
  [7]=>
  string(20) "Content-Length: 3875"
  [8]=>
  string(32) "X-Varnish: 3883194649 3880834433"
  [9]=>
  string(16) "Via: 1.1 varnish"
  [10]=>
  string(38) "Expires: Sun, 26 Jul 2009 20:27:07 GMT"
  [11]=>
  string(26) "Cache-Control: max-age=300"
  [12]=>
  string(16) "Source-Age: 1322"
} …
Run Code Online (Sandbox Code Playgroud)

php gravatar

5
推荐指数
2
解决办法
5391
查看次数

关于幻想体育(蛇)选秀的数学问题

如果您熟悉任何幻想体育选秀,草案顺序网格看起来像这样:

EXAMPLE 1 (3-teams):
Round   Team 1   Team 2   Team 3
  1     1 (1.1)  2 (1.2)  3 (1.3)
  2     6 (2.3)  5 (2.2)  4 (2.1)
  3     7 (3.1)  8 (3.2)  9 (3.3)
Run Code Online (Sandbox Code Playgroud)

数字1-9代表overall pick number草案的数字.

括号中的项目代表round_numberpick_number_of_that_round.

我无法弄清楚一个将我overall_pick_number变成合适的公式pick_number_of_that_round.

在上面的例子中,数字8等于2(第3轮的第2个选择).但在4支球队联赛中,数字8等于4(第2轮的第4顺位).

EXAMPLE 2 (4-teams):
Round   Team 1   Team 2   Team 3   Team 4
  1     1 (1.1)  2 (1.2)  3 (1.3)  4 (1.4)
  2     8 (2.4)  7 (2.3)  6 (2.2)  5 (2.1)
  3     9 …
Run Code Online (Sandbox Code Playgroud)

php algorithm math

5
推荐指数
2
解决办法
2044
查看次数

PHP方法链接的好处?

仍然在PHP-OOP训练轮上,这个问题可能属于failblog.org.=)

PHP中方法链的好处是什么?

我不确定这是否重要,但我将静态地调用我的方法.例如

$foo = Bar::get('sysop')->set('admin')->render();
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,任何返回的方法$this都允许链接.我刚学会了这是PHP5中的新功能.在我看来,如果我不必实例化一个全新的对象(静态调用它)并且只需从类中选择我需要的几个方法,那么可能会有速度优势?

我有这个权利吗?

php oop method-chaining

4
推荐指数
1
解决办法
1227
查看次数