0

ul标签非常通用,我一直在努力解决这个问题。

最初,我为我的ulli标签定义了一个基本样式规则,用于处理所见即所得文本的通用文本块中的项目符号。我正在使用 BEM,所以我想我只需将一个类添加到任何ul具有不同角色的类(例如菜单或新闻缩略图列表等

问题是我并不总是能够控制标记。我当前的问题是一个分页插件,它使用ul/li结构但不允许我向ul.

我正在使用 BEM,所以我真的不想使用后代选择器,尤其是元素选择器,但我意识到当我无法访问ul/li标记时我可能需要这样做。

任何建议都将不胜感激 - 特别是在基本/休息规则方面,因为我ul/li在很多网站上都有列表,并且一劳永逸地想要掌握这个问题。

谢谢

4

2 回答 2

1

一个解法:

  • 使用CSS reset 重置ul/li 的样式;
  • 在 BEM 原则中破例,对格式化文本使用级联。例子:

CSS:

.text ul {
    list-style: circle;
}
.text li {
    margin: .5em 1em;
}
.text p {
    margin-bottom: 1em;
}
/* etc. */

HTML:

<div class="text">
    <p>Here all the text is formatted</p>
</div>
于 2015-08-28T16:44:29.627 回答
0

我同意@Tarh

所以这一直伴随着 WordPress 主题开发。所有内容区域都获得了您也无法附加类的通用元素。所以你有两个解决方案:

  1. 就像 Tarh 上面描述的那样,您使用重置来终止 UL/LI 上的所有样式,并且您只使用 BEM 来在您的站点中设置它们的样式。但是当您到达不允许您向元素添加类的内容区域时,您只需使用您喜欢的 BEM 类将整个内容区域包装在一个 div 中,然后按照上述步骤操作。

2.在 WP 中有一些知道的方法来处理这个,但它需要编写一些函数。您可以在此处阅读有关如何执行此操作的信息。基本上,您使隐藏的格式下拉菜单可见,然后隐藏默认的“段落/标题”下拉菜单。然后,您可以根据需要格式化通用元素。喜欢:

array(
  'title' => 'Large heading',
  'block' => 'ul',
  'classes' => 'content__list'
)

但我不知道你是否真的指的是 WP 的东西,所以我打算在这里结束。

祝你好运!保持好状况!

于 2015-09-19T14:10:00.567 回答