我正在Wordpress上创建一个自定义边栏来显示独立的块,每个块中都有一个小部件。为此,我在functions.php中注册了小部件区域,然后将这些小部件区域添加到我的边栏中。
侧边栏设置如下:
<aside class="sidebar-right" role="complementary">
<div class="sidebar-widget">
<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-1')) ?>
</div>
<div class="sidebar-widget">
<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-2')) ?>
</div>
<div class="sidebar-widget">
<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-3')) ?>
</div>
<div class="sidebar-widget">
<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar('widget-area-4')) ?>
</div>
</aside>
我大致希望我的侧边栏看起来像这样:https://jsfiddle.net/b7xtksts/
这就是在functions.hp:中调用小部件的方式
register_sidebar(array(
'name' => __('Widget Area 1'),
'description' => __('Description'),
'id' => 'widget-area-1',
'before_widget' => '<div id="%1$s" class="%2$s">',
'after_widget' => '</div>',
'before_title' => '<div class="widget-title-background"><h3>',
'after_title' => '</h3></div>'
));
一切都很好,但我想在每个小部件的内容中添加填充,而不必编辑原始小部件,这样,由于padding
,将来添加的每个小部件都将适合使用。
但是,如果我将padding
设置为,比方说,<div id="%1$s" class="%2$s" style="padding:10px;">
,那么填充将添加到整个小部件,以及背景标题(不再填充100%的框)。我想知道如何在不影响上面的div
标题的情况下为小部件的内容设置填充。既然只有before/after _widget和_title,我如何才能将类仅设置为内容?
似乎我们无法将任何特定的类添加到小部件的内容主体中。
我建议的一个选项是:
-
像您所做的那样向父窗口小部件div添加填充,例如
.侧边栏小部件{填充:0 10px;}
-
为了消除标题背景div两边10px填充的影响,我们用两边的负边距来取消它,即
.widget标题背景{左边距:-10px;右侧边距:-10px;}
这将使标题的深色div绕过角落,取消主div上的填充效果。