应用从ie9迁移到ie11,css样式position:relative不可用解决方案

本文介绍了一种解决HTML元素在IE9到IE11浏览器间CSS兼容性问题的方法。通过修改CSS属性如position和display,解决了特定布局在不同IE版本中表现不一致的问题。

问题描述

问题的现象和解决问题的方式看似毫不相关,请看:
向某个html元素追加子元素,$("#div").append(*****),将实现代码从ie9迁移到ie11。 同一页面的button按钮,点击任意一个,所有button都会被禁用。

解决方案

ie11下position:relative生效,尝试添加float:left或display:block,我添加的是display:block。解决方案如下:

ie9环境,html标签和css样式代码

<span style="font-size:18px;"><pre name="code" class="html"><span class='stepname'>name</span></span>


<span style="font-size:18px;">.stepname{position: relative;line-height:7px;left: 22%;top:5px;color:#888;font-weight:bold;}</span>
ie11环境,html标签和css样式代码

<span style="font-size:18px;"><span class='stepname'>name</span></span>
.stepname{position: relative;line-height:7px;left: 22%;top:5px;color:#888;font-weight:bold;display: block;}

另外,ie11使用position:absolute,不会出现上述问题。

参照链接:https://bytes.com/topic/html-css/answers/532317-position-absolute-relative-container-bug







<template> <div class="home"> <h1 class="page-title">欢迎来到Vue商城</h1> <div class="product-grid"> <div v-for="product in products" :key="product.id" class="product-card"> <div class="image-container"> <img :src="product.image" :alt="product.name" class="product-image"> <button class="quick-view">快速查看</button> </div> <div class="product-info"> <h3 class="product-name">{{ product.name }}</h3> <p class="product-price">¥{{ product.price }}</p > <div class="rating"> <span class="star">★</span> <span class="star">★</span> <span class="star">★</span> <span class="star">★</span> <span class="star">☆</span> </div> </div> </div> </div> </div> </template> <script> export default { data() { return { products: [ { id:1, name: &#39;Vue主题T恤&#39;, price:99, image: require(&#39;@/assets/hww.png&#39;)}, { id:2, name: &#39;JavaScript权威指南&#39;, price:68, image: &#39;https://via.placeholder.com/300&#39; }, { id:3, name: &#39;前端开发工具包&#39;, price:199, image: &#39;https://via.placeholder.com/300&#39; }, { id:4, name: &#39;响应式设计教程&#39;, price:78, image: &#39;https://via.placeholder.com/300&#39; }, { id:5, name: &#39;Vue组件库订阅&#39;, price:129, image: &#39;https://via.placeholder.com/300&#39; }, { id:6, name: &#39;CSS3实战手册&#39;, price:55, image: &#39;https://via.placeholder.com/300&#39; } ] } } } </script> <style scoped> .page-title { margin-bottom: 2rem; font-size: 2.5rem; position: relative; display: inline-block; } .page-title::after { content: &#39;&#39;; position: absolute; bottom: -10px; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, transparent, var(--primary-color), transparent); border-radius: 3px; } .product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 2rem; } .product-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--transition); } .product-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); } .image-container { position: relative; overflow: hidden; } .product-image { width: 100%; height: 200px; object-fit: cover; transition: transform 0.5s ease; } .product-card:hover .product-image { transform: scale(1.05); } .quick-view { position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%) translateY(150%); padding: 8px 20px; background: white; border: none; border-radius: 30px; font-weight: 500; cursor: pointer; box-shadow: var(--shadow-sm); transition: var(--transition); } .product-card:hover .quick-view { transform: translateX(-50%) translateY(0); } .product-info { padding: 1.5rem; } .product-name { font-size: 1.2rem; margin-bottom: 0.5rem; color: var(--text-dark); } .product-price { font-size: 1.4rem; font-weight: 700; color: #e74c3c; margin-bottom: 0.8rem; } .rating { display: flex; gap: 2px; } .star { color: #f1c40f; font-size: 1.2rem; } </style>把里面的图片换成我src下面的assests里面的图片我该怎么改用那个链接方式了,为什么我改完我的vue页面就显示了为什么呢
06-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值