作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我按照本教程了解如何构建自定义 WordPress 古腾堡 block :https://neliosoftware.com/blog/how-to-create-your-first-block-for-gutenberg/
第一个 block 很好,但我想在这个 block 中使用自定义图像大小。该图像尺寸也应该是响应式的,这意味着应该在前端添加其他图像尺寸的 srcset 属性。
我在网上搜索了很长时间,但没有找到任何东西。使用来自 wordpress 的标准图像 block 或画廊 block 调整大小的图像,但对我来说,整个代码太复杂而无法遵循,因为我还没有习惯古腾堡编码方式......
是否有任何现有的指南或代码示例说明如何实现这一目标?
最佳卢卡斯
最佳答案
我在 this gutenberg github issue 的帮助下找到了解决方案。简单的答案是,wordpress (php) 会转换类名 wp-image-<id>
的所有图像。自动响应,使用 wp_make_content_images_responsive -功能。
也就是说,您需要做的就是将上述类名添加到 save
中的图像中。功能。
应用于您提到的示例,它将类似于以下内容:
save: function( props ) {
var attributes = props.attributes;
var alignment = props.attributes.alignment;
var imageClass = 'wp-image-' + props.attributes.mediaId;
return (
el( 'div', { className: props.className },
attributes.mediaURL &&
el( 'div', { className: 'nelio-testimonial-image', style: { backgroundImage: 'url('+attributes.mediaURL+')' } },
el( 'img', { src: attributes.mediaURL, class: imageClass } ),
),
el( 'div', { className: 'nelio-testimonial-content', style: { textAlign: attributes.alignment } },
attributes.testimonial && el( 'p', {}, attributes.testimonial ),
el( 'p', { className: 'nelio-testimonial-name' }, attributes.name ),
attributes.position && el( 'p', { className: 'nelio-testimonial-position' }, attributes.position )
)
)
);
},
关于wordpress - 带有响应式图像的古腾堡自定义 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51886254/
我是一名优秀的程序员,十分优秀!