z-index不适用于固定元素

时间:2016-02-14 04:05:20

标签: html css z-index fixed

当我偶然发现这个有趣的事实时,我正在研究我的代码:

import java.util.HashSet; import java.util.Set; public class countDistinctArray { public static int distinctNumberOfItems(int[] array) { if (array.length <= 1) { return array.length; } Set<Integer> set = new HashSet<Integer>(); for (int i : array) { set.add(i); } return set.size(); } public static void main(String args[]) { int array[] = { 2, 4, 6, 8, 3, 4, 6, 9 }; System.out.println(distinctNumberOfItems(array)); } } 不适用于固定元素,因此固定元素始终位于前面。

有没有办法将非固定元素放在固定元素的前面?

感谢。

&#13;
&#13;
z-index
&#13;
#fixed {
  background-color: red;
  width: 500px;
  height: 500px;
  position: fixed;
  z-index: 0;
}
#normal {
  background-color: blue;
  width: 500px;
  height: 500px;
  z-index: 1;
}
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:7)

除非您处理弹性项目或网格项目,否则必须定位一个元素才能使z-index起作用。 1

换句话说,position属性必须具有static以外的值,否则z-index将被忽略。 2

你的第二个div没有定位。这有两个选择:

  • position: relative添加到#normal
  • 为定位的div提供负z-index

&#13;
&#13;
#fixed {
    background-color: red;
    width: 500px;
    height: 500px;
    position: fixed;
    z-index: 0;                   /* a negative value here will also work */
}
#normal {
    background-color: lightblue;      
    width: 500px;
    height: 500px;
    z-index: 1;
    position: relative;           /* new */
}
&#13;
<div id = 'fixed'> I'm Fixed </div>
<div id = 'normal'> I'm Normal </div>
&#13;
&#13;
&#13;

另请参阅:Basics of the CSS z-index property

1 虽然z-index中定义的z-index仅适用于定位元素,但CSS 3允许positionCSS 2.1一起使用grid items,即使static$( document ).ready(function() { cargarDatos(); //document.getElementById('btnGuardar').onclick = mostrarDatos; $('#frmContacto').submit(function(event) { event.preventDefault(); //Bloqueo de comportamiento por defecto de formulario guardarDatos(); cargarDatos(); }); $('input').on('blur', function(){ $(this).addClass('marcado'); }); $('.btnEditar').on('click', function(event){ event.preventDefault(); //Bloqueo de comportamiento por defecto de formulario id = this.id;var link = this.href; alert(link); id = link.substr(link.indexOf("#"), link.length); alert(id); editarDatos(); }); $('#inputFoto').on('change', function(e) { precargarImagen(this); }); }); //Colección de contactos //var contactos = new Array(); function guardarDatos(){ name = $('#inputNombre').val(); direccion = $('#inputDireccion').val(); telefono = $('#inputTelefono').val(); fecha = $('#inputFecha').val(); email = $('#inputEmail').val(); color = $('#inputColor').val(); dataFoto = $("#imgFoto").attr("src"); contacto = { nombre : name, direccion : direccion, telefono : telefono, fecha : fecha, email : email, color : color, foto : dataFoto }; contactos.push(contacto); console.log(JSON.stringify(contactos)); localStorage.setItem('lstcontactos2', JSON.stringify(contactos)); } function cargarDatos(){ var data = localStorage.getItem('lstcontactos2'); contactos = data && JSON.parse(data); if(contactos==null) contactos = new Array(); $('#tablaContactos').bootstrapTable({ data: contactos }); } /** * Formato asociado a tabla boostrapTable para el campo de acciones, con la finalidad * que asocie un boton para editar la tarea que posterior sera capturado en el evento clic * @param value Id de la tarea */ function btnEditar(value){ console.log("valueformat " + value); return '<a href="#'+ value +'" class="btn btn-default btnEditar"><span class="glyphicon glyphicon-pencil"></span></a>'; } function imgFoto(value){ return '<img id="imgFoto" src="' + value + '" style="width:auto;height:160px;">'; } /** * Recupera del input:file el archivo seleccionado y lo renderiza en la pantalla * @param inputfile Objeto input de tipo file sobre el que se esta seleccionado la imagen */ function precargarImagen(inputfile){ var file = inputfile.files[0]; var imageType = /image.*/; if (file.type.match(imageType)) { var reader = new FileReader(); reader.onload = function(e) { var img = new Image(); img.src = reader.result; $(".file-caption-name").html(file.name); $(".file-preview-frame").empty(); $(".file-preview-frame"). append('<img id="imgFoto" src="' + reader.result + '" style="width:auto;height:160px;">'); }; reader.readAsDataURL(file); inputfile.val(img.src); } else { alert("Archivo no soportando!"); } }

2 flex items

答案 1 :(得分:1)

对固定元素使用否定<div id = 'fixed'> I'm Fixed </div> <div id = 'normal'> I'm Normal </div> #fixed { background-color: red; width: 500px; height: 500px; position: fixed; z-index: -1; } #normal { background-color: blue; width: 500px; height: 500px; z-index: 1; }

ls

答案 2 :(得分:0)

&#13;
&#13;
#fixed {
  background-color: red;
  width: 500px;
  height: 500px;
  position: fixed;
  z-index: 0;
}
#normal {
  background-color: blue;
  width: 500px;
  height: 500px;
  z-index: 1;
position:relative;
}
&#13;
<div id = 'fixed'> I'm Fixed </div>
<div id = 'normal'> I'm Normal </div>
&#13;
&#13;
&#13;

&#13;
&#13;
#fixed {
  background-color: red;
  width: 500px;
  height: 500px;
  position: fixed;
  z-index: 0;
}
#normal {
  background-color: blue;
  width: 500px;
  height: 500px;
  z-index: 1;
position:relative;
}
&#13;
<div id = 'fixed'> I'm Fixed </div>
<div id = 'normal'> I'm Normal </div>
&#13;
&#13;
&#13;