我想让一个按钮填充一个表格单元格,使整个单元格都可以点击。默认情况下,该按钮具有自动宽度,因此我必须将其明确设置为 100% 宽度 (display: block doesn’t work )。但这样做会使单元格不再识别自己的宽度。在 Firefox 中,当使用 overflow: scroll 将表格嵌套在容器中时,这是一个问题:
正如您在示例中看到的,单元格中的文本流出单元格,并且单元格太小了。 可见宽度 的宽度均匀分布在所有单元格中。在第二个示例中,我用 div 替换了按钮,但没有显示问题:单元格正确地获得了它们需要的宽度。第三个示例显示了一个更真实的用例,第二行使列更宽(这就是按钮需要具有 width: 100% 的原因)。
.wrapper {
width: 250px;
overflow-x: scroll;
background: indigo;
margin-bottom: 1em;
}
.table {
white-space: nowrap;
}
.table td {
background: lavender;
}
.table button {
font: inherit;
border: 0;
background: none;
padding: 0;
width: 100%;
}<div class="wrapper">
<table class="table">
<tr>
<td><button>Some long table header A</button></td>
<td><button>Some long table header B</button></td>
<td><button>Some long table header C</button></td>
</tr>
</table>
</div>
<div class="wrapper">
<table class="table">
<tr>
<td><div>Some long table header A</div></td>
<td><div>Some long table header B</div></td>
<td><div>Some long table header C</div></td>
</tr>
</table>
</div>
<div class="wrapper">
<table class="table">
<tr>
<td><button>Table header A</button></td>
<td><button>Table header B</button></td>
<td><button>Table header C</button></td>
</tr>
<tr>
<td>Some long table content</td>
<td>Some long table content</td>
<td>Some long table content</td>
</tr>
</table>
</div>
您是否知道如何使用按钮使单元格具有所需的宽度?我现在的替代方案是使用 div 并向它们添加 ARIA Angular 色,因此它们的行为类似于按钮(但感觉有点脏)。
该问题在 Chrome 或 Internet Explorer 中未出现,因此可能有一些与 Firefox 相关的样式被添加到按钮中。也许可以使用特定于浏览器的 CSS 属性来禁用它?
最佳答案
这似乎是 Firefox 中的错误。描述您的问题的错误报告已在此处提交 https://bugzilla.mozilla.org/show_bug.cgi?id=332171 .
尽管在该错误报告中给出了以下事件,但看起来它很快就会被修复:
I think my patches to bug 823483 will fix this (since they expand the quirk in one way (max-width too) and restrict it in another (fewer frame types); the latter is what matters here); just need to finish them (and figure out why the tests I wrote weren't all passing)...
David Baron 于 2016-01-06 21:12:31 PST 的回复
目前要获得所需的行为,最简单的更改似乎是:
width: 100%; 更改为 min-width: 100%; on .table button.wrapper {
width: 250px;
overflow-x: scroll;
background: indigo;
margin-bottom: 1em;
}
.table {
white-space: nowrap;
}
.table td {
background: lavender;
}
.table button {
font: inherit;
border: 0;
background: none;
padding: 0;
min-width: 100%;
}<div class="wrapper">
<table class="table">
<tr>
<td><button>Some long table header A</button></td>
<td><button>Some long table header B</button></td>
<td><button>Some long table header C</button></td>
</tr>
</table>
</div>
<div class="wrapper">
<table class="table">
<tr>
<td><div>Some long table header A</div></td>
<td><div>Some long table header B</div></td>
<td><div>Some long table header C</div></td>
</tr>
</table>
</div>
<div class="wrapper">
<table class="table">
<tr>
<td><button>Table header A</button></td>
<td><button>Table header B</button></td>
<td><button>Table header C</button></td>
</tr>
<tr>
<td>Some long table content</td>
<td>Some long table content</td>
<td>Some long table content</td>
</tr>
</table>
</div>
关于html - 表格单元格中宽度为 100% 的按钮会阻止 Firefox 中单元格的自动宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34948628/
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'
我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty