html - 使用 css 将 dom 格式化为表达式

标签 html css css-selectors pseudo-element

我正在创建一个使用标签并需要使用运算符执行基本标签代数的网站 not , and , or .我有一个描述表达式的 dom 元素,但无法使用 css 显示表达式。

考虑以下表达式:

([Green] or ((not [Blue]) and ([Red] or (not [Yellow]))))

在 dom 中表示为:

<span class="tag-expression">
  <span class="tag-or">
    <span class="tag" value="green">Green</span>
    <span class="tag-and">
      <span class="tag-not">
        <span class="tag" value="blue">Blue</span>    
      </span>
      <span class="tag-or">
        <span class="tag" value="red">Red</span>
        <span class="tag-not">
          <span class="tag" value="yellow">Yellow</span>
        </span>
      </span>
    </span>
  </span>
</span>

我已经设法使用 css 包含括号' :before:aftercontent 并列属性(jfiddle demo)。但没有运气显示运算符(operator) ¬ , & , | .我一直在玩弄一个 <span class="operator"/>有图像背景,但我想知道是否有另一种方法可以使用 :before:after选择器。

有什么想法吗?

最佳答案

好了,它可以与您在示例中提供给我的内容一起使用,您应该用更复杂的表达式对其进行测试以确保它是正确的。

我在您的 CSS 脚本末尾添加了一些复杂的 CSS 选择器以显示您的运算符:

.tag-expression .tag-or > span:nth-child(2):before {
    content: ' | (';   
}

.tag-expression .tag-and > span:first-child:after {
    content: ' ) & ';
}

.tag-expression .tag-not:before {
    content: ' ( ¬ ';
}​

您可以在这个 fiddle 中查看.如果这能解决您的问题,请告诉我。

关于html - 使用 css 将 dom 格式化为表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024257/

相关文章:

javascript - 如何动态设置iframe高度?

css - 为什么这个 CSS 选择器没有像我预期的那样工作?

html - 带有图像和文本的圆 Angular Div

javascript - 打开页面时如何为列表项添加效果?

javascript - 仅在第一次单击单选按钮时使页面滚动

css - GitHub 页面加载 Bootstrap CSS,但不是我的自定义样式表?

css - 在一个 react ​​元素中嵌套两个伪类悬停以更改 div 中的不透明度并缩放图像

python - 如何通过 Selenium Webdriver 查找具有动态 id 的元素

html - 高分辨率图像 IE 浏览器渲染

不同行的html表格单元格宽度