admin管理员组文章数量:1022949
I'm using Tiny MCE 4 for users posting on my website. It works very well, but the problem is that when a users puts an image in Tiny MCE, and changes its size, it generates the following line:
<img src="source/imagem.jpg?14641" alt="" width="550" height="838">
The result is a non responsive picture. How can I configure Tiny MCE to add the following inline css attributes on the image ?
<img src="source/imagem.jpg?14641" alt="" width="550" height="838" style="
width: 100%; max-width: 550px; height: auto;">
I'm using Tiny MCE 4 for users posting on my website. It works very well, but the problem is that when a users puts an image in Tiny MCE, and changes its size, it generates the following line:
<img src="source/imagem.jpg?14641" alt="" width="550" height="838">
The result is a non responsive picture. How can I configure Tiny MCE to add the following inline css attributes on the image ?
<img src="source/imagem.jpg?14641" alt="" width="550" height="838" style="
width: 100%; max-width: 550px; height: auto;">
Share
Improve this question
edited Jun 6, 2016 at 19:01
Arnaud Develay
3,9702 gold badges16 silver badges28 bronze badges
asked May 25, 2016 at 12:05
caiocafardocaiocafardo
1961 silver badge13 bronze badges
2
- How can an image have a fixed size and being responsive at the same time? – a better oliver Commented Jun 2, 2016 at 14:16
-
1
you can apply style in each image if you want in tinymce just set
image_advtab: true
in yourtinymce.init
function. With the above setting you can set the style in the advanced settings tab of insert/edit image – user2560539 Commented Jun 7, 2016 at 17:31
4 Answers
Reset to default 5 +25Why not simply creating a CSS rule that adds the required attributes to all img
elements of a particular container.
For example, in a div
element of class container
, you can define the following CSS selector:
.container img {
max-width:100%;
height:auto;
}
Here is a sample of the result on a simple page. You can see that the yellow image is unchanged but all images contained in the container div children elements are resized (here the green and blue images).
.container img {
max-width:100%;
height:auto;
}
<img src="http://placehold.it/400x400/EEE04A/ffffff" />
<div class="container" style="width:150px;">
<img src="http://placehold.it/800x300/5cb85c/ffffff" />
<div>
<img src="http://placehold.it/800x600/5bc0de/ffffff" />
</div>
</div>
Add inline styles with '!important' and any image don't change size.
.tiny-mce-wrapper img {
width: 100% !important;
max-width:100% !important;
height:auto !important;
}
You can use javascript (with jQuery) to handle this (without reconfiguring tinymce). You just have to include this into the page that is showing the images.
$(document).ready(function () {
$('.Container').find('img').each(function () {
var _this = $(this);
_this.css({
'width': _this.width,
'height': _this.height
});
_this.removeAttr('width');
_this.removeAttr('height');
});
});
You can set style
attribute values in Tinymce if you have image_advtab
set to true
as in the below example. By applying this you will get an extra tab in your insert/edit image and set the style you want.
Tinymce example
tinymce.init({
selector: 'textarea',
height: 500,
theme: 'modern',
plugins: [
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code fullscreen',
'insertdatetime media nonbreaking save table contextmenu directionality',
'emoticons template paste textcolor colorpicker textpattern imagetools'
],
toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
toolbar2: 'print preview media | forecolor backcolor emoticons',
image_advtab: true,
templates: [
{ title: 'Test template 1', content: 'Test 1' },
{ title: 'Test template 2', content: 'Test 2' }
]
});
I'm using Tiny MCE 4 for users posting on my website. It works very well, but the problem is that when a users puts an image in Tiny MCE, and changes its size, it generates the following line:
<img src="source/imagem.jpg?14641" alt="" width="550" height="838">
The result is a non responsive picture. How can I configure Tiny MCE to add the following inline css attributes on the image ?
<img src="source/imagem.jpg?14641" alt="" width="550" height="838" style="
width: 100%; max-width: 550px; height: auto;">
I'm using Tiny MCE 4 for users posting on my website. It works very well, but the problem is that when a users puts an image in Tiny MCE, and changes its size, it generates the following line:
<img src="source/imagem.jpg?14641" alt="" width="550" height="838">
The result is a non responsive picture. How can I configure Tiny MCE to add the following inline css attributes on the image ?
<img src="source/imagem.jpg?14641" alt="" width="550" height="838" style="
width: 100%; max-width: 550px; height: auto;">
Share
Improve this question
edited Jun 6, 2016 at 19:01
Arnaud Develay
3,9702 gold badges16 silver badges28 bronze badges
asked May 25, 2016 at 12:05
caiocafardocaiocafardo
1961 silver badge13 bronze badges
2
- How can an image have a fixed size and being responsive at the same time? – a better oliver Commented Jun 2, 2016 at 14:16
-
1
you can apply style in each image if you want in tinymce just set
image_advtab: true
in yourtinymce.init
function. With the above setting you can set the style in the advanced settings tab of insert/edit image – user2560539 Commented Jun 7, 2016 at 17:31
4 Answers
Reset to default 5 +25Why not simply creating a CSS rule that adds the required attributes to all img
elements of a particular container.
For example, in a div
element of class container
, you can define the following CSS selector:
.container img {
max-width:100%;
height:auto;
}
Here is a sample of the result on a simple page. You can see that the yellow image is unchanged but all images contained in the container div children elements are resized (here the green and blue images).
.container img {
max-width:100%;
height:auto;
}
<img src="http://placehold.it/400x400/EEE04A/ffffff" />
<div class="container" style="width:150px;">
<img src="http://placehold.it/800x300/5cb85c/ffffff" />
<div>
<img src="http://placehold.it/800x600/5bc0de/ffffff" />
</div>
</div>
Add inline styles with '!important' and any image don't change size.
.tiny-mce-wrapper img {
width: 100% !important;
max-width:100% !important;
height:auto !important;
}
You can use javascript (with jQuery) to handle this (without reconfiguring tinymce). You just have to include this into the page that is showing the images.
$(document).ready(function () {
$('.Container').find('img').each(function () {
var _this = $(this);
_this.css({
'width': _this.width,
'height': _this.height
});
_this.removeAttr('width');
_this.removeAttr('height');
});
});
You can set style
attribute values in Tinymce if you have image_advtab
set to true
as in the below example. By applying this you will get an extra tab in your insert/edit image and set the style you want.
Tinymce example
tinymce.init({
selector: 'textarea',
height: 500,
theme: 'modern',
plugins: [
'advlist autolink lists link image charmap print preview hr anchor pagebreak',
'searchreplace wordcount visualblocks visualchars code fullscreen',
'insertdatetime media nonbreaking save table contextmenu directionality',
'emoticons template paste textcolor colorpicker textpattern imagetools'
],
toolbar1: 'insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
toolbar2: 'print preview media | forecolor backcolor emoticons',
image_advtab: true,
templates: [
{ title: 'Test template 1', content: 'Test 1' },
{ title: 'Test template 2', content: 'Test 2' }
]
});
本文标签: javascriptAdd inline CSS in the image using TinyMCEStack Overflow
版权声明:本文标题:javascript - Add inline CSS in the image using TinyMCE - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745498813a2153292.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论