bootstrap和elementUI真的会冲突
前两天,做了一个支持markdown的功能: http://www.cnblogs.com/XHappyness/p/8097756.html
后面发现预览效果某些标签需要bootstrap的支持才能显出相关的样式,于是乎 npm bootstrap;并在此页面的.ts文件中 import 'bootstrap/dist/css/bootstrap.min.css',本以为只在改页面引入并不会影响全局样式,然并卵!!
解决办法:将预览地方的div换成iframe
.vue
<div class="marked">
<el-tabs v-model="tastDtailType" @tab-click="changeTab" class="markdown-tabs">
<el-tab-pane label="Write" name="write">
<el-input type="textarea" placeholder="请输入备注" v-model="task.description" :autosize="{minRows: 2, maxRows:30}" class="none-border"></el-input>
</el-tab-pane>
<el-tab-pane label="Preview" name="preview">
<iframe id="tast-dtail-preview" runat="server" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
<!-- <div id="tast-dtail-preview"></div> -->
</el-tab-pane>
</el-tabs>
</div>
.css
/* markdown格式 */
.marked {
min-height: 120px;
padding:10px;
border-radius: 4px;
border: 1px solid #bfcbd9;
&:hover {
border-color: #8391a5!important;
}
& #tast-dtail-preview {
margin-left: 7px;
}
}
.ts
//任务详情markd是预览还是书写
changeTab(tastDtailType) {
this.tastDtailType = tastDtailType.name;
if (tastDtailType.name === 'preview' && this.task.description != '') {
let tastDtailPreview = Marked(this.task.description);
let iframe = document.querySelector('#tast-dtail-preview') as HTMLIFrameElement;
iframe.contentDocument.body.innerHTML = '<head><link href="http://crowdsourcing.gridsumdissector.com/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet"></head>' + tastDtailPreview;
}
}
方法也是笨拙而巧妙,感谢同事帮忙挖坟。。。。
新坑:不滚动的话,内容不能全部显示,目前还没研究怎么是iframe自动高度,于是乎还是滚吧....
//任务详情markd是预览还是书写
changeTab(tastDtailType) {
this.tastDtailType = tastDtailType.name;
if (tastDtailType.name === 'preview') {
let tastDtailPreview = Marked(this.task.description);
let iframe = document.querySelector('#tast-dtail-preview') as HTMLIFrameElement;
iframe.contentDocument.body.innerHTML = '<head><link href="http://crowdsourcing.gridsumdissector.com/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet"></head>' + tastDtailPreview;
let height = $('.none-border').height(); //.none-border是左侧书写部分的
let width = $('.none-border').width();
iframe.style.height = height + 'px'; iframe.style.width = width + 'px';
}
}
bootstrap和elementUI真的会冲突的更多相关文章
- bootstrap modal与select2使用冲突解决
今天发现项目使用bootstrap modal 与 jquery select2 结合时发现select2不起作用,点击select框不显示选项,查阅资料后发现是因为modal层遮挡了select2的 ...
- 时间插件datepicker(jQuery-UI,bootstrap)和jquery-steps的冲突解决。。。
日期插件初始化: $('.prelease_time').flatpickr(); let contentSteps = $("#content_form").steps({ h ...
- 解决bootstrap row span设置border换行的问题
Hadoop方面的毕业设计告一段落了,趁这几天空闲时间认真学习一下之前常使用但是却没用好的Bootstrap. 本文记录Bootstrap框架使用栅格系统时,遇到row内的span设置border换行 ...
- BootStrap 4正式版发布(原文翻译)
原文链接:http://blog.getbootstrap.com/2018/01/18/bootstrap-4/ 关于Bootstrap 什么是Bootstrap Bootstrap,来自 Twit ...
- 打造 Vue.js 可复用组件
Vue.js 是一套构建用户界面的渐进式框架.我们可以使用简单的 API 来实现响应式的数据绑定和组合的视图组件. 从维护视图到维护数据,Vue.js 让我们快速地开发应用.但随着业务代码日益庞大,组 ...
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- vue中如何编写可复用的组件?
原文地址 Vue.js 是一套构建用户界面的渐进式框架.我们可以使用简单的 API 来实现响应式的数据绑定和组合的视图组件. 从维护视图到维护数据,Vue.js 让我们快速地开发应用.但随着业务代码日 ...
- [转载]SVN-主干/分支
一个大项目在开发中可能会拆分成几个小项目,分别分去,同时共通的部分再由人做,做完后再统一合并.同时,在开发中,共通的部分修改后,其它人要保持同步. 这种情况反应到SVN的分支/合并功能上,再贴切不过了 ...
- Kendo UI for ASP.NET MVC 的一些使用经验(转)
转自 http://blog.csdn.net/dj2008/article/details/45313805 最近的项目里用到了Kendo UI.这货很好很强大,但可惜官方文档组织的并不是很好,有很 ...
随机推荐
- leetcode笔记(七)529. Minesweeper
题目描述 Let's play the minesweeper game (Wikipedia, online game)! You are given a 2D char matrix repres ...
- ABAP术语-Connection Type
Connection Type 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/17/1042479.html A connection ty ...
- jQuery Ajax请求后台数据并在前台接收
1.ajax基本语法 <script> $(function(){ $('#sub').click(function(){ var username=$('#username').val( ...
- php Laravel5.5 表单验证常用的验证规则,以及示例
namespace App\Http\Controllers; use App\Models\Users; use Illuminate\Support\Facades\Validator; use ...
- numpy数组用法大全
机器学习的最基础模块就是numpy模块了,而numpy模块中的数组操作又是重中之重,所以我们要把数组的各种方法弄得明明白白的,以下就是数组的一些常用方法 1.创建各种各样的数组: import num ...
- is和==,编码补充
一,is和==的区别: 1, 通过一个ID()可以查看到一个变量表示的值在内存中的地址. s = 'alex' print(id(s)) # 4326667072 s = "alex& ...
- python递归函数(计算阶乘)
def f1(x,x1=1): if x == 1: return x1 #x1这个值为我们所需要的值,所以返回 x1 *= x r = f1(x-1,x1) #r接收返回值,并在下面接着返回 ret ...
- kuangbin 最小生成树
A & M - Jungle Roads HDU - 1301 题意:字母之间的路,求最小生成树 题解:处理好建边以后就是一个Prime #include<cstdio> #inc ...
- (数据科学学习手札04)Python与R在自定义函数上的异同
自编函数是几乎每一种编程语言的基础功能,有些时候我们需要解决的问题可能没有完全一致的包中的函数来进行解决,这个时候自编函数就成了一样利器,而Python与R在这方面也有着一定的差别,下面举例说明: P ...
- 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(五):测试项目
基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...