小编Wil*_*kel的帖子

设置overflow-x:hidden会添加一个垂直滚动条

当我指定overflow-x: hidden一个水平和垂直溢出的元素时,除了隐藏水平溢出的内容之外,该元素还会获得一个垂直滚动条.我试过添加overflow-y: visible,甚至只是overflow: visible,没有效果.

我误解了这些属性的作用吗?我认为这overflow-x根本不应该影响垂直溢出.

这种情况发生在我尝试的每个浏览器上.

这是一个演示效果的片段.我正在使用<pre>标签,因为它们是创建溢出内容的简单方法,但它似乎与任何标签一起发生.

pre {
  height: 40px;
  width: 150px;
  margin-bottom: 50px; /* We need this so they don't overlap. */
}

#x-hidden {
  overflow-x: hidden;
}

#y-visible {
  overflow-x: hidden;
  overflow-y: visible;
}

#visible {
  overflow: visible;
  overflow-x: hidden;
}
Run Code Online (Sandbox Code Playgroud)
<pre>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
  Integer mollis quis magna quis vulputate.
  Cras …
Run Code Online (Sandbox Code Playgroud)

html css

54
推荐指数
4
解决办法
3万
查看次数

使用CSS删除文本基线下方的空间

最近我一直在使用日文文本,我发现了一个相当恼人的财产.在日语中,与英语不同,字形不会延伸到文本基线以下.这个例子应该表明我的意思:

div {
  font-size: 72pt;
  display: inline-block;
  text-decoration: underline;
  border: 1px solid red;
  margin: 10px;
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
<div lang="ja">???</div>
<div lang="en">English</div>
Run Code Online (Sandbox Code Playgroud)

请注意"英语"中的"g"如何延伸到下划线之下,但日本语中的所有字符都没有.这是典型的日文文本.尽管如此,空格仍保留在下划线下方,实际上在我的屏幕上,日文文本比英文文本保留更多空间.我的问题是:

有没有办法用CSS删除这个空间,这对于更改字体和字体大小是否可靠?我可以看到至少两种可能的方法:

  • 直接删除基线下方的空间.
  • 将基线移动到包含框的底部.

html css fonts cjk

8
推荐指数
1
解决办法
7479
查看次数

Emacs tramp挂起"Tramp:发现远程shell提示"

我第一次尝试通过Windows上Emacs的tramp访问远程文件.我正在尝试通过打开远程目录C-x C-f /plink:user@host:/.但是,当Emacs在迷你缓冲区中进入"Tramp:found remote shell prompt"时,它会挂起.迷你缓冲器不仅会挂起,而且所有Emacs都会挂起,因此我必须通过任务管理器将其杀死.遗憾的是,我无法看到tramp的任何调试信息,因为它输出到Emacs缓冲区.我该如何调试呢?

我正在运行Windows 8.1,Emacs 24.3和plink 0.63.

emacs tramp

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

为什么"抛出"限制生产自动分号插入?

JavaScript的自动分号插入算法的一部分是所谓的"限制性制作".这些是句法形式,禁止在某一点发生换行符.引用ECMAScript 2015规范:

如果短语"[ 此处没有LineTerminator ]"出现在句法语法生成的右侧,则表示生产是限制生产:如果LineTerminator出现在输入流中,则可能无法使用它.指示的位置.

ECMAScript 2015规范中有10个限制产品:

  • PostfixExpression [Yield] : LeftHandSideExpression [?Yield] [ 此处没有LineTerminator ]++
  • PostfixExpression [Yield] : LeftHandSideExpression [?Yield] [ 此处没有LineTerminator ]--
  • ContinueStatement [Yield] : continue [ 此处没有LineTerminator ] LabelIdentifier [?Yield] ;
  • BreakStatement [Yield] : break [ 此处没有LineTerminator ] LabelIdentifier [?Yield] ;
  • ReturnStatement [Yield] : return [ 此处没有LineTerminator ] 表达式 ;
  • ReturnStatement [Yield] : return [ 此处没有LineTerminator ] 表达式[In,?Yield] ;
  • ThrowStatement [Yield] : throw [ …

javascript grammar

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

调整红宝石文本的垂直位置

我想使用HTML <ruby>来标记日语文本及其发音.但是,我发现在大字体大小的情况下,<rt>文本的基线远远高于它标记的字符的顶部.这是一个显示我的意思的例子:

ruby {
  font-size: 72pt;
}
Run Code Online (Sandbox Code Playgroud)
<ruby>?<rt>??</rt>?</ruby>
Run Code Online (Sandbox Code Playgroud)

作为参考,这是它在我当前的浏览器(Linux上的Firefox)中的显示方式,尽管我在其他浏览器中看到过类似的行为:

格式不正确的红宝石文本

我想要的是将红宝石文本的高度调整为更像这样的东西:

格式正确的红宝石文本

但是,我尝试的任何东西似乎都对红宝石文本的定位没有任何影响.这些都是我尝试过的不起作用的东西:

  • vertical-align: -10px
  • postion: relativetop: 10px
  • transform: translateY(-10px)

有什么方法可以调整这个文本的位置吗?

html css cjk ruby-tag

6
推荐指数
2
解决办法
1119
查看次数

C99的支持真的还没有普及吗?

我正在阅读GNOME项目的一些最佳实践,他们一直强调的一件事是避免使用C99功能,因为支持仍然不普遍.他们提到的一些功能是单行注释和在块中间声明变量等功能.它让我怀疑,是C99支持,即使对于//评论这样的基本功能,还真的还不普及吗?自从该标准被采用以来已经差不多15年了,我们甚至在那个时候出现了新的标准.这真的还是个问题吗?

c compiler-construction c99

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

在x86程序集中写入stderr

我对汇编很新,我想知道如何将输出写入stderr.我知道您可以访问C标准库函数,如printf,以打印到控制台.但我无法弄清楚如何打印到stderr.我试图使用fprintf,但我只是猜测参数,我不知道如何指定stderr作为文件指针.谢谢.

编辑:根据sehe的建议,我尝试了这个:

.586
.model small,c
.stack 100h

.data
msg db 'test', 0Ah

.code
includelib MSVCRT
extrn fprintf:near
extrn exit:near

public main
main proc
    push    offset msg
    push    2       ;specify stderr
    call    fprintf ;print to stderr
    push    0
    call    exit    ;exit status code 0

main endp

end main
Run Code Online (Sandbox Code Playgroud)

但它只是导致我的程序崩溃.还有其他建议吗?

x86 assembly

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

模式匹配时不同数量的参数可能

我遇到了一个我不太懂的问题.我以为我可以在Haskell中编写这样的代码:

foo :: Maybe Int -> Int
foo Nothing = 0
foo Just x = x
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译它时,我收到错误:

'foo'的等式具有不同数量的参数

我可以通过将我的代码更改为以下代码来修复它:

foo :: Maybe Int -> Int
foo Nothing = 0
foo (Just x) = x
Run Code Online (Sandbox Code Playgroud)

这让我觉得GHC正在解释Just为一个论据foo.但是Haskell禁止使用大写字母来启动变量名,所以我不认为这里应该有任何歧义.这是怎么回事?

haskell pattern-matching

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

SASS Mixin将一个论点替换为另一个

所以,我刚开始学习SASS,我想我会写一个快速的mixin来将所有供应商前缀添加到一个语句中.所以我写了这个:

@mixin prefix( $style, $value ) {
  $style: $value;
  -o-#{$style}: $value;
  -moz-#{$style}: $value;
  -webkit-#{$style}: $value;
  -ms-#{$style}: $value;
}

header {
  @include prefix( transform, rotate(90deg) );
}
Run Code Online (Sandbox Code Playgroud)

但是,由于某些原因我无法理解,这会产生输出:

header {
  -o-rotate(90deg): rotate(90deg);
  -moz-rotate(90deg): rotate(90deg);
  -webkit-rotate(90deg): rotate(90deg);
  -ms-rotate(90deg): rotate(90deg); }
Run Code Online (Sandbox Code Playgroud)

显然它是用第二个参数代替第一个参数.它产生同样的输出在这里为我的服务器上.我希望有人可以解释为什么会这样.

css sass

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

为什么数组中的数字元素的类型被评估为javascript中的字符串

例如

var a = [1, 2, 3];
for (var i in a) {
    console.log(typeof i);
}
Run Code Online (Sandbox Code Playgroud)

产量

string
string
string
Run Code Online (Sandbox Code Playgroud)

我是一名Python程序员,我发现它非常不直观.为什么评估的元素不是数字?

javascript

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