1. 程式人生 > >解決ActiveX外掛Z-Index屬性無效問題

解決ActiveX外掛Z-Index屬性無效問題

摘要:

在Web開發中我們經常通過z-index設定多個元素之間的層疊關係,這種方式在多數情況下很有效,但是如果遇到有窗體元素時這種方式常常顯得無能為力,今天我們就一塊看一下如何有效的解決這個問題。

內容:

網頁控制元件分為兩大類:有窗體元素和無窗體元素。無窗體元素包括大多數html元素(例如div、table等)、無窗體的ActivX外掛、iframe等;有窗體的元素包括<Object>元素、ActiveX外掛、Plug-ins外掛、Select元素等。所有的有窗體元素都會出現在無窗體元素之上,而有窗體元素和無窗體元素自身遵循z-index屬性約束(注意使用z-index必須設定相應元素的position為absolute)。所有的無窗體元素都被瀏覽器渲染在同一個MSHTML平面,而有窗體元素被渲染在一個單獨的MSHTML平面上。在同一個MSHTML平面當然可以通過設定z-index屬性設定其層疊關係,但是對於不同平面上的元素,這個屬性卻無能為力。這裡需要注意ActiveX外掛,預設情況下VB和MFC控制元件是有窗體的,而ALT是無窗體的。

雖然上面說到ifame屬於無窗體元素,但是在ie中它卻橫跨兩邊。無論是有窗體元素還是無窗體元素在顯示時都會考慮iframe的順序。因此如果要解決無窗體元素和有窗體元素之間的層疊關係時我們可以藉助於iframe:通過把有窗體元素放到iframe中,然後設定iframe的z-index大於無窗體元素來解決二者層疊關係無法調整的問題;或者在無窗體元素內部放置一個iframe,設定其z-index小於無窗體元素並且其大小同無窗體元素相同;當然如果你覺得這兩種方式都太麻煩的話可以使用jQuery的bgiframe外掛,它的原理同第二種方式,不過使用起來就簡單多了。

上面的方式或許可以解決大多數情況,但是實際應用中或多或少會給你造成一些額外的開發成本,如果你的專案中使用的Ext來進行前臺開發,那麼很幸運,Ext原生就對遮蓋有窗體元素進行了支援。只需要在指令碼開始處加上Ext.useShims=true;即可。

另外:多數情況下div被flash遮蓋不用像上面這麼麻煩,只需要設定wmode屬性為transparent即可。

相關推薦

解決ActiveX外掛Z-Index屬性無效問題

摘要: 在Web開發中我們經常通過z-index設定多個元素之間的層疊關係,這種方式在多數情況下很有效,但是如果遇到有窗體元素時這種方式常常顯得無能為力,今天我們就一塊看一下如何有效的解決這個問題。 內容: 網頁控制元件分為兩大類:有窗體元素和無窗體元素。無窗體元素包括大多數html元素(例如div、t

修改z-index屬性無效原因及解決方法

在CSS中,只能通過程式碼改變層級,這個屬性就是z-index,要讓z-index起作用有個小小前提,就是元素的position屬性要是relative,absolute或是fixed。 (z-index無論設定多高都不起作用情況): 這種情況發生的條件有三個: 1、父標籤 positi

定位流之z-index屬性

設置 meta 解決 開發 spa HA fixed eight charset 1.固定定位是脫離標準流的,不會占用標準流的空間 2.和絕對定位有點像,也不區分行內塊級元素 3.類似於前面學的背景關聯方式(讓某個背景圖片不隨滾動而滾動)讓某個元素不隨著滾動條的

CSS----z-index 屬性詳解

用途: z-index 屬性設定元素的堆疊順序。擁有更高堆疊順序的元素總是會處於堆疊順序較低的元素的前面。 該屬性設定一個定位元素沿 z 軸的位置,z 軸定義為垂直延伸到顯示區的軸。 注意: z-index 屬性值可以是負的, 如果為正數,則離使用者更近,為負數則表示離使用者更遠。

CSS z-index 屬性 控制div上下層次

<html><head><style type="text/css">#img1{position:absolute;left:0px;top:0px;z-index:-1}</style><script type="text/javascript">

專案中彈出頁面的顯示層次問題 CSS中z-index屬性

z-index最大值: IE FireFox Safari的z-index最大值是2147483647 。 Opera的最大值是2147483584.。 IE Safari Opera在超過其最大值時按最大值處理。 FireFox 在超過最大值時會資料溢位正負不定,但有一點可以肯定絕對不會高於2147

深入理解css中position屬性z-index屬性

在網頁設計中,position屬性的使用是非常重要的。有時如果不能認識清楚這個屬性,將會給我們帶來很多意想不到的困難。  position屬性共有四種不同的定位方法,分別是static、fixed、relative、absolute,sticky。最後將會介紹和positio

CSS定位以及z-index屬性(層疊性)的詳解

定位 定位方向:top left right bottom就這四個位置 一、靜態定位 position:static; 靜態定位就是文件流,沒有別的意思,不需要寫 二、絕對定位 (脫標) position:absolute;

你真的瞭解z-index屬性了嗎?

在編碼的過程中,我們常常用z-index去控制元素的層疊順序.那麼我們真的瞭解它了嗎? z-index的語法:(參考W3C文件) 屬性 值 Value auto integer inherit Initial a

z-index屬性簡介

z-index : auto | number    auto:預設值。  number:無單位的整數值,可為負數。     z-index 值較大的元素將疊加在z-index值較小的元素之上。對於未指定此屬性的定位物件,z-index 值為正數的物件會在其之上,而z-

動態改變div的z-index屬性

<script language="javascript">  var MAX_INDEX=4;  function change(ddd)  {  if(ddd.style.zIndex<= MAX_INDEX)  {  ddd.style.zIndex = MAX_INDEX+1; 

關於設定z-index層級無效的問題

最近在寫一個小專案,遇到很多小細節的問題,果然還是要實戰才能知道自己的不足之處啊~迴歸正題,我在一個div明明設定了屬性z-index,但是為什麼在網頁上顯示無效呢?首先排除設定的層級不夠的問題;然後我就去 W3School 查詢了才知道問題所在。 先來看官

CSS之巧用z-index屬性

大家平時可能是在涉及到absulute佈局元素之間的疊加時才會想起z-index屬性,但是z-index屬性不僅僅對absolute佈局的元素生效 給大家看一下用html中的input和label來實現Native Android中的Material效果 即聚焦在in

CSS z-index 屬性(設定元素的堆疊順序)

定義和用法 z-index 屬性設定元素的堆疊順序。擁有更高堆疊順序的元素總是會處於堆疊順序較低的元素的前面。 註釋:元素可擁有負的 z-index 屬性值。 註釋:Z-index 僅能在定位元素上奏效(例如 position:absolute;)! 說明

深入理解css中的position定位和z-index屬性

注:本文僅供交流使用,如有不當之處歡迎批評指正,但請註明詳由,謝謝!由於平時不太用到,所以過去寫css的時候對於position屬性的absolute、relative值理解比較模糊,對於z-index的層疊更是摸不著頭腦,除了理解的因素外,各個瀏覽器的不同解析結果也是一個大

解決embed標籤設定z-index無效

今天在網頁上面,有視訊框,還有一個彈出層,當彈出層出來的時候,視訊總會在最上面,設定z-index,也不管用。 發現在IE8中,頂部浮動導航的div在移動到embed視訊上時,總是被embed的fla

小程式 textarea、input 層級過高,導致填寫內容穿透,z-index無效問題解決方案。

小程式的textare、input輸入框層級是最高的 那麼我們在textare、input輸入的內容就會總是顯示在最上一層。 這是時為什麼呢?官方文件有說明,因為textare、input這些是原生元件。原生元件的層級是最高的,不管其它非原生元件z-index設定多大,

Android使用TextView,設置onClick屬性無效解決辦法

TextView Android在布局文件中為View提供了onClick屬性,使用方法如下:<TextView android:id="@+id/user" android:layout_width="@dimen/px_171"

IOS上z-index和fixed定位無效

IOS上z-index和fixed定位無效 在該元素上加: -webkit-transform:translateZ(1px); -moz-transform:translateZ(1px); -o-transform:translateZ(1px); transform:translateZ(1p

z-index上層元素遮擋下層元素點選事件解決

一、問題描述 筆者是在些一個登入介面時遇到這個問題的,需求是點選登入按鈕出現登入懸浮框,初始化時登入懸浮框是display:none的,但筆者發現登入框那一塊區域的input框無法響應點選時間,也無法獲得焦點。 一般滑鼠放在input框上是會變成編輯的橫槓,input框也