草庐IT

html - 布局独立于上下文的 HTML 元素

coder 2023-08-12 原文

我想自由 float 一大块 DOM,它恰好包含一个 <UL> ,相对于一个元素,恰好在 <UL> 中,并且我希望 DOM block 的布局不是其父元素的函数。这就好像它是 <body> 的直接子代一样元素。

HTML

<UL><LI>aaa</LI></UL>
<HR>
<UL>
  <li>
    <span class="r">x-<div class="freefloat">
      <UL><LI>aaa</LI></UL>
    </div></span>
  </li>
  <li>hello world</li>
</UL>

CSS

.r { position: relative; }
.freefloat { position: absolute; top: 0px; left: 1em; }

在示例中,两个列表带有 aaa元素最终有不同的元素符号。该特定属性可以被抑制/覆盖,但我如何才能“重置”所有内容,使其恢复到顶级范围内的状态?

https://jsfiddle.net/tfy172x0/3/

最佳答案

我对你的问题有点困惑。看起来你在尝试做某事 - 但你没有告诉我们它是什么。也许只是解释理想的结果会有所帮助。

I want to free-float a chunk of DOM, that happens to include a , relative to an element, that happens to be in a

好的。但我不确定我会称之为自由 float 。

这听起来像是下拉菜单之类的——但真的很神秘; )

...how can I "reset" everything to be as it would be at the top level scope?

你可以使用initial https://developer.mozilla.org/en-US/docs/Web/CSS/initial在这种情况下/但我不认为它会“重置所有内容”-我认为没有办法做到这一点。通常 - 我只是用 meyer reset 重置所有内容 - 并明确定义列表样式。

ul {
  border: 1px solid red;
}

.free-willy {
   position: relative;
}

.free-willy ul {
  position: absolute;
  top: 0;
  left: 1em;

  background-color: lightgray;
  padding-right: 1rem;

  list-style: initial;
}
<ul class="z">
  <li>a</li>
  <li>b</li>
</ul>

<ul>
  <li>1</li>

  <li class='free-willy'>
    <span>2</span>
    <ul>
      <li>a</li>
      <li>b</li>
    </ul>
  </li>

  <li>3</li>
</ul>

这是你想要的吗?

更新:

我认为我们在术语上存在一些冲突。对于 CSS,您可能太聪明了。哈哈。好的,所以“根据他们的立场”令人困惑,但我认为这有助于触及问题的核心。

这里发生了两件事。

  1. 听起来您还在习惯 the 'Cascade' 的想法在 CSS 中。我知道这看起来很疯狂……但你必须接受它。 方法可以确定组件的范围,这样它们就不会通过更高级的设置继承父事物/但这并不值得。

  2. 每个浏览器都有一组标准的样式,它会强加给您的代码。 “嵌套”ul 有一个不同的点,因为 chrome 决定了这一点。

一些要看的东西:

https://meyerweb.com/eric/tools/css/reset/这将“重置”CSS(通过覆盖默认值)以删除 - 几乎所有由任何浏览器设置的样式。

正在使用:https://jsfiddle.net/sheriffderek/v3p1t5b2/

关于html - 布局独立于上下文的 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55671414/

有关html - 布局独立于上下文的 HTML 元素的更多相关文章

  1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

    我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

  2. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  3. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

    所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

  4. ruby-on-rails - Ruby url 到 html 链接转换 - 2

    我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

  5. ruby - nanoc 和多种布局 - 2

    是否可以为特定(或所有)项目使用多个布局?例如,我有几个项目,我想对其应用两种不同的布局。一个是绿色的,一个是蓝色的(但是)。我想将它们编译到我的输出目录中的两个不同文件夹中(例如v1和v2)。我一直在玩弄规则和编译block,但我不知道这是怎么回事。因为,每个项目在编译过程中只编译一次,我不能告诉nanoc第一次用layout1编译,第二次用layout2编译。我试过这样的东西,但它导致输出文件损坏。compile'*'doifitem.binary?#don’tfilterbinaryitemselsefilter:erblayout'layout1'layout'layout2'

  6. ruby - 在哈希的键数组中追加元素 - 2

    查看我的Ruby代码:h=Hash.new([])h[0]=:word1h[1]=h[1]输出是:Hash={0=>:word1,1=>[:word2,:word3],2=>[:word2,:word3]}我希望有Hash={0=>:word1,1=>[:word2],2=>[:word3]}为什么要附加第二个哈希元素(数组)?如何将新数组元素附加到第三个哈希元素? 最佳答案 如果您提供单个值作为Hash.new的参数(例如Hash.new([]),完全相同的对象将用作每个缺失键的默认值。这就是您所拥有的,那是你不想要的。您可以改用

  7. ruby-on-rails - capybara ::ElementNotFound:无法找到 xpath "/html" - 2

    我正在学习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)'

  8. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  9. ruby - 如何使用 Ruby 将 CSV 文件读入 HTML 表格? - 2

    我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda

  10. ruby - Hanami link_to 助手只呈现最后一个元素 - 2

    我是HanamiWorld的新人。我已经写了这段代码:moduleWeb::Views::HomeclassIndexincludeWeb::ViewincludeHanami::Helpers::HtmlHelperdeftitlehtml.headerdoh1'Testsearchengine',id:'title'hrdiv(id:'test')dolink_to('Home',"/",class:'mnu_orizontal')link_to('About',"/",class:'mnu_orizontal')endendendendend我在模板上调用了title方法。htm

随机推荐