bootstrap是非常棒的前端开发套件。
但是在IE浏览器里,效果没有chrome,firefox好。原因是因为最新的普及版 IE9对CSS3仍然支持不到位。
我研究了不能展现动画效果的问题。
举个例子 alert 插件。
<div class="fade in alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Warning!</strong> Best check yo self, you're not looking too good.
</div>
在chrome下,点击 X 可以渐隐整个alert提示。但是在IE下就不能。
我在查看源代码前,一直认为bootstrap的动画效果是依靠jquery的。但是实际却是依靠css3。
!function ($) {
"use strict"; // jshint ;_;
/* ALERT CLASS DEFINITION
* ====================== */
var dismiss = '[data-dismiss="alert"]'
, Alert = function (el) {
$(el).on('click', dismiss, this.close)
}
Alert.prototype.close = function (e) {
var $this = $(this)
, selector = $this.attr('data-target')
, $parent
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
} else {
alert('fuck');
}
$parent = $(selector)
e && e.preventDefault()
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
$parent.trigger(e = $.Event('close'))
if (e.isDefaultPrevented()) return
$parent.removeClass('in')
function removeElement() {
$parent
.trigger('closed')
.remove()
}
$.support.transition && $parent.hasClass('fade') ?
$parent.on($.support.transition.end, removeElement) :
removeElement()
}
/* ALERT PLUGIN DEFINITION
* ======================= */
var old = $.fn.alert
$.fn.alert = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('alert')
if (!data) $this.data('alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.alert.Constructor = Alert
/* ALERT NO CONFLICT
* ================= */
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
/* ALERT DATA-API
* ============== */
$(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
}(window.jQuery);
看遍以上这个插件没发现任何jquery.fadeIn()函数的踪影。
其实,实际起到fadeIn作用的是 $parent.removeClass('in'),即去掉div的in样式表。我们看到div有fade和in两个样式表。为什么一旦去掉in就会有渐隐效果呢(在chrome里)?
我们看看bootstrap.css里的
.fade { opacity: 0; -webkit-transition: opacity 0.15s linear; -moz-transition: opacity 0.15s linear; -o-transition: opacity 0.15s linear; transition: opacity 0.15s linear; } .fade.in { opacity: 1; }
这里可以看到chrome运用css3的-webkit-transition的样式来达到这一目的,将 in 去掉后,只剩fade,则-webkit-transition执行 linear动作,将透明度以0.15s的速度降为0,这样就实现了渐隐效果。
同样的,我们还可以看到collapse插件的高度渐减效果,也是用css3实现
.collapse { position: relative; height: 0; overflow: hidden; -webkit-transition: height 0.35s ease; -moz-transition: height 0.35s ease; -o-transition: height 0.35s ease; transition: height 0.35s ease; }
而一切的一切,都是因为fuck IE不支持transition这个css3特性。和bootstrap用没用jquery无关。
最后我想说,chrome must be winner for freedom.
相关推荐
5. ** Custom CSS **:可能提供了一套针对IE8和IE9的定制CSS,用于修复某些样式问题,比如替换动画效果、调整过渡和过渡延迟等。 为了使Bootstrap在IE8和IE9上正常运行,你需要按照以下步骤操作: 1. 在页面头部...
然而,Bootstrap 5在发布时已经放弃了对Internet Explorer 11(IE11)的支持,这使得仍然需要在IE11环境中运行的项目面临挑战。"bootstrap-ie11"项目就是为了解决这个问题而诞生的,它旨在为Bootstrap 5提供IE11的...
Bootstrap v3.3.7是Twitter推出的一个开源前端框架,它极大地简化了网页设计和开发流程,尤其在响应式布局和移动设备优先的设计策略上表现出色。这个版本是Bootstrap 3系列的最后一个稳定版本,因此对于那些需要支持...
7. **兼容性**:Bootstrap 3.3.7对大部分现代浏览器有着良好的支持,包括Chrome、Firefox、Safari、Edge和IE9+。 8. **Chm文件**:Bootstrap3.3.7.chm是一个帮助文档,通常包含详细的API参考、示例代码和使用教程,...
CSS文件(通常为`bootstrap.css`或`bootstrap.min.css`)用于设置页面的基本样式和布局,而JavaScript文件(通常是`bootstrap.js`或`bootstrap.min.js`)则提供了交互性功能,如下拉菜单、模态框的动画效果等。...
Bootstrap是流行的前端框架,内置了轮播组件(Carousel),它基于jQuery,提供了丰富的样式和动画效果。使用Bootstrap实现轮播图,首先需要在页面中引入Bootstrap的CSS和JS文件。接着,通过HTML5的`...
5. **更强的浏览器兼容性**:Bootstrap 4 支持现代浏览器,同时也对 IE9+ 和 Safari 8+ 进行了兼容。 通过这个"bootstrap4.zip"压缩包,你可以迅速启动一个基于 Bootstrap 的项目,享受它带来的强大功能和便捷性。...
`bootstrapTooltipOptions`对象提供了配置Bootstrap Tooltip的各种选项,如动画、位置、容器等。 `onPageClicked`和`onPageChanged`是两个重要的回调函数,分别在点击分页按钮时和页面变化时触发,提供事件处理的...
此外,Bootstrap3依赖于jQuery库,jQuery是一个强大的JavaScript库,简化了DOM操作、事件处理和动画效果。 jQuery.min.js是jQuery的压缩版,用于在网页中引入jQuery库。它提供了一种简洁的API,使得开发者能更高效...
Bootstrap通过引入字体图标库,为开发者提供了一种简洁、高效的方式来展示图形元素,这些图标通常以矢量格式存在,具有清晰、可缩放且在不同分辨率下都能保持良好显示效果的优点。 Bootstrap的字体图标库主要基于...
5. **动画效果**:提供了一系列内置的动画方法,如fadeIn/fadeOut、slideToggle等。 **Bootstrap:响应式设计的利器** Bootstrap,版本3.3.7,是Twitter开源的一个HTML、CSS和JS框架,主要用于创建响应式布局和...
1. **加载动画**:Ladda 提供了多种加载动画效果,如旋转、滑动等,这些效果可以在按钮上动态展示,给用户一种实时反馈的感觉,让他们知道系统正在处理请求。 2. **兼容性**:Ladda for Bootstrap 3 支持 IE8 及...
通过使用jQuery插件的形式,它可以在大部分现代浏览器中正常工作,但在旧版IE中可能需要额外的 polyfill 支持。 7. **服务器端处理**:FileInput仅负责前端的文件选择和预览,实际的文件上传需要与后端服务器进行...
在Bootstrap管理后台模板中,jQuery通常与Bootstrap插件配合使用,实现如模态框、下拉菜单、轮播图等动态效果。 4. **响应式设计**:响应式设计是网页设计的一种方法,它允许网页根据用户的行为和设备环境(系统...
这个项目基于流行的Bootstrap框架,因此它继承了Bootstrap的美观和响应式设计,使得在不同设备上都能呈现出一致且良好的视觉效果。 在前端开发中,经常需要向用户显示一些提示信息,如确认操作、显示警告或成功消息...
Gleek充分利用了Bootstrap4的响应式特性,确保网页在不同设备上(如桌面、平板、手机)都能呈现良好的视觉效果和用户体验。Bootstrap4的栅格系统使得页面元素可以自动调整大小和排列,适应不同屏幕尺寸。 3. **CSS...
- **跨浏览器兼容性**:选择了支持IE8的库版本,这在构建面向旧版浏览器用户的网站时非常有用,但也要注意新的开发标准和工具可能不支持旧版浏览器,因此在新的项目中通常会鼓励使用支持最新浏览器的技术栈。...
4. 跨浏览器兼容性:Bootstrap致力于在所有主流浏览器上提供一致的用户体验,包括Chrome、Firefox、Safari、Edge和IE9+。 jQuery的主要优点有: 1. DOM操作:jQuery提供了一种简单的方式来选择、操作和修改HTML元素...
至于"yzts_3_booom",根据命名规则推测,它可能是一个CSS样式表或者是JavaScript文件,用于定制或扩展Bootstrap的默认样式和功能,比如动画效果或特定的交互行为。 在实际使用这个模板时,开发者可以根据自己的需求...
同时,它支持与jQuery库的无缝集成,jQuery是一个轻量级、功能丰富的JavaScript库,用于简化DOM操作、事件处理、动画效果以及Ajax交互。 在Bootstrap3 Ace-Master中,你可以找到以下关键知识点: 1. **响应式设计*...