我正在使用display:table来创建嵌套的行和列集的布局.我注意到,当表格单元格中的第一个元素不是文本时,列的对齐似乎会中断.不可否认,我还没有测试过哪个元素导致了这个问题,但是这个JSFiddle中有一个例子:http://jsfiddle.net/ekx4v/
码:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#container {
width:200px;
height:200px;
display:table;
}
#column1 {
display:table-cell;
background-color:blue;
}
#column2 {
display:table-cell;
background-color:red;
}
</style>
</head>
<body>
<div id="container">
<div id="column1">
Col1
<form>
<select size="2">
<option>Options go here...</option>
</select>
</form>
</div>
<div id="column2">Col2</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
删除"Col1"文本会导致第二列不对齐.如果这不能在其他浏览器上重现,这里有一些在Chrome中截取的屏幕截图:
使用"Col1":

没有"Col1":

我在Firefox中得到了相同的结果.这是预期的行为吗?如果是这样,是否有一个解决方法,以便我不必在每个div的开头放置文本?
所以我正在编写一个使用大型c ++库的Android应用程序.我有一切工作,以便java应用程序可以调用c ++委托方法,但我发现自己希望我可以将消息从c ++记录到Android日志.这很容易从java,但我不知道如何从c ++调用java方法.我的搜索找到了从c ++打开jvm的方法,这根本不是我想做的.理想情况下,我想将一个日志方法指针传递给c ++,然后可以随时使用它.当然,java不支持方法指针.我的java方法看起来像:
private void log(String s){
Log.i(Tag, s); // Android log
}
Run Code Online (Sandbox Code Playgroud)
我只是不知道如何允许c ++访问此方法.