使用Master Slider时遇到问题。
它会自动生成很多类。
就我而言,我将视频和图片加载到幻灯片中。
在我检查的代码中:
<?php if($item->type == 1): ?> <!-- is Video -->
<img class="ms-thumb video_slider" ... />
?>
<?php if($item->type == 2): ?> <!-- is Picture -->
<img class="ms-thumb picture_slider" ... />
<div class="picturediv"></div> <!-- I tried to add manual element like that to assign instead of using: `ms-thumb-ol` but it auto remove when slide is generate -->
?>
将生成如下结构:
div.ms-thumb-frame
div.ms-thumb video_slider
div.ms-thumb-ol
div.ms-thumb-frame
div.ms-thumb picture_slider
div.ms-thumb-ol
我想用代码添加按钮播放:
div.ms-thumb-frame {
position: relative;
}
div.ms-thumb-frame div.ms-thumb-ol {
position: absolute;
display: block;
background: url(http://www.workbooks.com/sites/default/files/image/play-button-crm-homepage2.png);
height: 55px;
width: 57px;
top: 0;
left:0;
right:0;
bottom:0;
margin:auto;
}
div.ms-thumb-frame div.ms-thumb-ol:hover {
background: url(http://www.workbooks.com/sites/default/files/image/play-button-crm-homepage-11.png);
}
你可以看到,我只设置元素ms-thumb-ol
。
此元素在另一个元素中相同。
是否有任何方法可以检入div.ms-thumb picture_slider
和div.ms-thumb-ol
并发
答案 0 :(得分:1)
如果您只想编辑ms-thumb-ol
,可以使用css兄弟组合器,因为它位于div.ms-thumb picture_slider
旁边。因此,要修改它,请为您的css添加此选择器:
div.ms-thumb picture_slider + ms-thumb-ol{
//Whatever code you want that specific button to have but not the other button
}
+
组合器的作用是检查div.ms-thumb picture_slider
类是否后跟ms-thumb-ol
。如果是,则应用样式。
修改强>
为了简化,请将代码从您拥有的代码更改为:
div.ms-thumb-frame + div.ms-thumb-ol {
position: absolute;
display: block;
background: url(http://www.workbooks.com/sites/default/files/image/play-button-crm-homepage2.png);
height: 55px;
width: 57px;
top: 0;
left:0;
right:0;
bottom:0;
margin:auto;
}
div.ms-thumb-frame + div.ms-thumb-ol:hover {
background: url(http://www.workbooks.com/sites/default/files/image/play- button-crm-homepage-11.png);
}
只要您的HTML按照您在问题中显示的方式进行设置,它就会有效。
请注意唯一的区别是兄弟组合+
。
答案 1 :(得分:1)
如果您只想在div.ms-thumb-ol
内的div.ms-thumb.picture_slider
元素后面div.ms-thumb-frame
设置样式,则可以使用CSS Adjacent sibling combinator:
div.ms-thumb-frame div.ms-thumb.picture_slider + div.ms-thumb-ol {
/* ... */
}
答案 2 :(得分:0)
如果您只有两种类型的物品......请使用这样的三元运算符
$class= ($item->type == 1)?'ms-thumb video_slider':'ms-thumb picture_slider';
并在$class
标记中使用img
,如下所示。
<img class="<?php echo $class;?>" ... />