我需要一些关于定位 div 的帮助。 HTML结构如下:
<div class="container">
<div class="item">
<div class="left">
lorem lorem
</div>
<div class="right">
<p>right</p>
<p class="bottom">bottom</p>
</div>
</div>
</div>
我有以下 CSS:
.container {
float: left;
padding: 15px;
width: 600px;
}
.item {
float: left;
padding: 15px;
width: 570px;
}
.left {
float: left;
padding: 40px 20px;
margin-right: 10px;
}
.right {
position: relative;
float: left;
}
.bottom {
position: absolute;
bottom: 0;
}
左边div的宽高是动态的。
我想实现的是:
item 类填充 div 的其余部分。bottom的段落应该在右边div的底部。这是代表我的目标的简单图像:
还有一个指向 JSFiddle demo 的链接.
最佳答案
获得 .bottom 的正确位置和宽度似乎是跨浏览器 CSS 解决方案的最大障碍。
<强>1。 float
正如@joeellis 所展示的,灵活的宽度可以通过仅 float 左列,并将 overflow:hidden 应用于右列来实现。
.bottom的位置在任何浏览器中都无法实现。对于具有相等可变高度的 float 列,没有 CSS 解决方案。绝对定位的 .bottom 元素必须位于右列 div 内,这样 100% 的宽度才能为其提供正确的大小。但是由于右列不一定和左列一样高,所以将 .bottom 定位为 bottom:0 不一定会将其放在容器的底部.
<强>2。 HTML 表格和 CSS 表格
灵活的宽度可以通过给左侧单元格设置 1px 的宽度而不为右侧单元格指定宽度来实现。两个单元格都会增长以适应内容。任何额外的空间都将单独添加到正确的单元格中。
如果 .bottom 位于右侧表格单元格内,则无法在 Firefox 中获取该位置。相对位置在 Firefox 的表格单元格中没有影响;绝对位置和 100% 宽度不会相对于右侧表格单元格。
如果 .bottom 被视为右列中的单独表格单元格,则除 Firefox 之外的任何浏览器都无法实现右侧和底部表格单元格的正确高度。表格单元格的高度与宽度不同(Firefox 除外)。
<强>3。 CSS3 flexbox 和 CSS3 网格
Flexbox 和网格是不久的将来很有前途的布局工具。但是 IE9 或更早版本不支持 flexbox,除 IE10 之外的任何浏览器都不支持网格。尚未测试是否可以实现此布局,但浏览器支持可能会阻止它们成为目前的选项。
目前似乎没有合适的 CSS 解决方案,可以在足够多的相关浏览器中工作,flexbox 可能是个异常(exception)(如果不需要对 IE9 和更早版本的支持)。
这里有几个修改过的演示,它们使用 jQuery 强制列具有相同的高度。两个演示的 CSS 和 jQuery 是相同的。 HTML 的不同之处仅在于左右栏中的内容量。这两个演示在所有浏览器中都测试得很好。相同的基本方法可用于纯 JavaScript。
为了简单起见,我将左右 div 的内部填充移动到子元素 (.content)。
强>强>强>
关于html - 让div填充父级的剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852979/
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
在我的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并在看到包时选择
我有一个驼峰式字符串,例如:JustAString。我想按照以下规则形成长度为4的字符串:抓取所有大写字母;如果超过4个大写字母,只保留前4个;如果少于4个大写字母,则将最后大写字母后的字母大写并添加字母,直到长度变为4。以下是可能发生的3种情况:ThisIsMyString将产生TIMS(大写字母);ThisIsOneVeryLongString将产生TIOV(前4个大写字母);MyString将生成MSTR(大写字母+tr大写)。我设法用这个片段解决了前两种情况:str.scan(/[A-Z]/).first(4).join但是,我不太确定如何最好地修改上面的代码片段以处理最后一种
我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll
我正在使用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)'
我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty
我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda