Wooslider / Flexslider Respnsive Image无效怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (120)

我正在为客户制作一个投资组合网站,因此获取响应式图像是非常重要的。在将设计转换为WordPress之前,所有工作都是100%,但我只是安装了名为Wooslider的WordPress插件,它基于Flexslider。它在图像上存在一些问题,直到它们真的像素化,然后将图像扩大到超过其保存的大小。

有两种方法可以使用此插件制作幻灯片,其中一种将所有附加的图像添加到帖子和页面中,或者创建每个单独的幻灯片

我玩了一下插件的CSS,并用附加图片创建的幻灯片解决了问题,他们使用宽度:100%而不是最大宽度:100% - 我认为这将是其他地方的另一个属性的情况,但迄今为止没有运气。

这里是这个插件的两个CSS代码

Flexslider css:

    /*
 * jQuery FlexSlider v2.1
 * http://www.woothemes.com/wooslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */


/* Browser Resets */
.wooslider-container a:active,
.wooslider a:active,
.wooslider-container a:focus,
.wooslider a:focus  {outline: none;}
.slides,
.wooslider-control-nav,
.wooslider-direction-nav {margin: 0; padding: 0; list-style: none;} 

/* wooslider Necessary Styles
*********************************/ 
.wooslider {margin: 0 auto; padding: 0;}
.wooslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.wooslider .slides img {max-width: 100%; display: block;}
.wooslider-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.wooslider .slides:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; } 
html[xmlns] .wooslider .slides { display: block; } 
* html .wooslider .slides { height: 1%; }

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .wooslider .slides > li:first-child { display: block; }


/* wooslider Default Theme
*********************************/
.wooslider {margin: 0 0 60px; background: #fff; border: 4px solid #fff; position: relative; -webkit-border-radius: 4px; -moz-border-radius: 4px; -o-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2); -moz-box-shadow: 0 1px 4px rgba(0,0,0,.2); -o-box-shadow: 0 1px 4px rgba(0,0,0,.2); box-shadow: 0 1px 4px rgba(0,0,0,.2); zoom: 1;}
.wooslider-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;}
.loading .wooslider-viewport {max-height: 300px;}
.wooslider .slides {zoom: 1;}

.wooslider .carousel li {margin-right: 5px}

/* Direction Nav */
.wooslider-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(../images/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease;}
.wooslider-direction-nav .wooslider-next {background-position: 100% 0; right: -36px; }
.wooslider-direction-nav .wooslider-prev {left: -36px;}
.wooslider:hover .wooslider-next {opacity: 0.8; right: 5px;}
.wooslider:hover .wooslider-prev {opacity: 0.8; left: 5px;}
.wooslider:hover .wooslider-next:hover, .wooslider:hover .wooslider-prev:hover {opacity: 1;}
.wooslider-direction-nav .disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}

/* Pause/Play */
.wooslider-pauseplay a  { width: 30px; height: 30px; text-indent: -9999px; background: url(../images/bg_play_pause.png) no-repeat 110% 0; position: absolute; bottom: 5px; left: 5px; opacity: 0.8; z-index: 9999; cursor: pointer; }
.wooslider-pauseplay a:hover  { opacity: 1; }
.wooslider-pauseplay a.wooslider-play { background-position: 0 0; }

/* Control Nav */
.wooslider-control-nav {width: 100%; position: absolute; top: 100%; margin-top: 10px!important; text-align: center; z-index: 9999; }
.wooslider-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.wooslider-control-paging li a {width: 11px; height: 11px; display: block; background: #666; background: rgba(0,0,0,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; box-shadow: inset 0 0 3px rgba(0,0,0,0.3);}
.wooslider-control-paging li a:hover { background: #333; background: rgba(0,0,0,0.7); }
.wooslider-control-paging li a.wooslider-active { background: #000; background: rgba(0,0,0,0.9); cursor: default; }

.wooslider-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.wooslider-control-thumbs li {width: 25%; float: left; margin: 0;}
.wooslider-control-thumbs img {max-width: 100%; display: block; opacity: .7; cursor: pointer;}
.wooslider-control-thumbs img:hover {opacity: 1;}
.wooslider-control-thumbs .wooslider-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
  .wooslider-direction-nav .wooslider-prev {opacity: 1; left: 0;}
  .wooslider-direction-nav .wooslider-next {opacity: 1; right: 0;}
}

第二个插件CSS

    .wooslider .slides > li { list-style: none; float: left; }
.wooslider .slides img { max-width: 100%; border: 0; }
body .wooslider.wooslider-type-posts img, body .wooslider.wooslider-type-attachments img { max-width: 100%; border: 0; padding: 0; margin: 0; height: auto; }
body .wooslider .slides, body .wooslider .wooslider-control-nav, body .wooslider .wooslider-direction-nav { padding: 0; margin: 0; }
body .wooslider .wooslider-control-nav li, body .wooslider .wooslider-direction-nav li { list-style: none; }

/* Layout styles for the "Posts" slideshow type. */

/* Text Left and Text Right Options */
.wooslider .layout-text-left img { float: right; width: 40%; }
.wooslider .layout-text-left .slide-excerpt { float: left; width: 50%; }

.wooslider .layout-text-right img { float: left; width: 40%; }
.wooslider .layout-text-right .slide-excerpt { float: right; width: 50%; }

/* Full overlay enabled */
.wooslider .overlay-full  { position: relative; }
.wooslider .overlay-full .slide-excerpt { background: #000; opacity: 0.8; color: #FFF; position: absolute; padding: 1em; }
.wooslider .overlay-full .slide-excerpt .slide-title { color: #FFF; }
.wooslider .overlay-full img { float: none; width: 100%; height: auto; }

body .wooslider .overlay-full.layout-text-left .slide-excerpt { left: 0; top: 0; bottom: 0; width: 30%; padding: 1em; overflow: hidden; }
body .wooslider .overlay-full.layout-text-right .slide-excerpt { right: 0; top: 0; bottom: 0; width: 30%; padding: 1em; overflow: hidden; }
body .wooslider .overlay-full.layout-text-top .slide-excerpt { left: 0; right: 0; top: 0; height: auto; padding: 1em; overflow: hidden; }
body .wooslider .overlay-full.layout-text-bottom .slide-excerpt { left: 0; right: 0; bottom: 0; height: auto; padding: 1em; overflow: hidden; }

/* Natural overlay enabled */
.wooslider .overlay-natural  { position: relative; }
.wooslider .overlay-natural .slide-excerpt { color: #FFF; position: absolute; float: left; padding: 0; }
.wooslider .overlay-natural .slide-excerpt .slide-title { color: #FFF; background: #000; opacity: 0.8; float: left; padding: 0.5em 1em; margin: 0; }
.wooslider .overlay-natural .slide-excerpt p { color: #FFF; background: #000; opacity: 0.8; float: left; padding: 0.5em 1em; }
.wooslider .overlay-natural img { float: none; width: 100%; height: auto; }

body .wooslider .overlay-natural.layout-text-left .slide-excerpt { left: 0; top: 10%; overflow: hidden; }
body .wooslider .overlay-natural.layout-text-right .slide-excerpt { float: right; right: 0; top: 10%; overflow: hidden; }
body .wooslider .overlay-natural.layout-text-right .slide-excerpt .slide-title, 
body .wooslider .overlay-natural.layout-text-right .slide-excerpt p { float: right; }
body .wooslider .overlay-natural.layout-text-top .slide-excerpt { left: 0; top: 0; overflow: hidden; }
body .wooslider .overlay-natural.layout-text-bottom .slide-excerpt { left: 0; bottom: 0; overflow: hidden; }

/* "Slides" slideshow type */
body .wooslider .slide-content { margin: 0.5em; padding: 0; border: 0; width: auto; height: auto; }

/* Slide widget */
.widget_wooslider_slideshow_attachments .wooslider-direction-nav a  { padding: 0; }

body .wooslider.wooslider-type-posts img, body .wooslider.wooslider-type-attachments img, body .wooslider.wooslider-type-attachments img { max-width: 100%; border: none; height: auto;}
body .wooslider-control-nav { margin: 0; padding: 0; }
body .wooslider-control-nav img { border: 0; background: none; margin: 0; padding: 0; }
body .wooslider-direction-nav, body .wooslider-direction-nav li { list-style: none; margin: 0; padding: 0; }
body .wooslider.wooslider-type-slides .has-featured-image img.featured-image { max-width: 100%; height: auto; }
body .wooslider.wooslider-type-slides img { max-width: 100%; height: auto; }
提问于
用户回答回答于

从阅读中看来,试图解决这个问题,在某些时候,flexslider为包含图像高度和宽度的图像添加了样式属性,导致任何旨在改变无用的CSS大小。

我简单地在初始化flexslider之后添加了这个:

$(this).find('li img').removeAttr('style');

这将从图像中删除任何样式属性,然后可以通过CSS控制宽度。

用户回答回答于

上面的CSS覆盖是由ichabody 1799提供的,对我来说非常有效。

.slides img { max-width: 100%; height: auto; width: auto; margin: 0 auto;}

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动