Templates de Dreamweaver y páginas ASP.NET con código code-behind

Existe una situación extraña cuando trabajas en un sitio web con plantillas de Dreamweaver y con ASP.NET 2.

Cuando añades una nueva página aspx, la primera línea del código es algo similar a esto:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Contacto.aspx.vb" Inherits="Contacto" %>

Si esta página está controlada por un template de Dreamweaver, y tú modificas ese template, y luego aplicas los cambios, notarás que Dreamweaver elimina la citada línea del archivo. Lo cual simplemente hace que tu página ASP.NET no funcione más.

Puedes regresar a Visual Web Developer (o la herramienta de ASP.NET que utilices) y volver a ponerle la línea eliminada, pero si tienes muchas páginas esto puede ser una pesadilla.

Encontré un post en un foro con una solución que supuse no iba a funcionar, pero la probé y de hecho sirve!

A tus páginas aspx añádeles esta línea después de la línea de declaración:

<%--'comment--%>

De tal forma que te quede algo como esto:

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Contacto.aspx.vb" Inherits="Contacto" %>
<%--'comment--%>

Ahora pruébalo para que veas como funciona. Haz cualquier cambio a tu template de Dreamweaver, aplica el template a las páginas basadas en él, y verás que la línea permanece intacta, haciendo que la aplicación siga funcionando sin problemas.

Cómo centrar una tabla verticalmente en una página web

La mejor manera que he visto de centrar una tabla (o cualquier contenido) verticalmente en la ventana del navegador, es la siguiente.

En tu hoja de estilos pon estas dos clases:

.horizonte
{
color: #000000;
background-color: #ff0000;
text-align: center;
position: absolute;
top: 50%;
left: 0px;
width: 100%;
height: 1px;
overflow: visible;
visibility: hidden;
/*visibility: visible;  Activa esta linea si quisieras ver donde esta el horizonte*/
display: block;
}
 
.contenido
{
 
margin-left: -250px;
position: absolute;
top: -250px;
left: 50%;
width: 500px;
height: 500px;
visibility: visible;
}

La clase llamada horizonte posiciona contenido exactamente en la mitad de la pantalla, esto lo logra con el top=50%; Su altura es un pixel y su visibilidad es hidden porque no queremos que se vea, es solamente un lugar donde posicionaremos nuestro contenido. Ojo: Como su overflow es visible no importa que el contenido sea más alto que un pixel, más información sobre esto aquí.

Lo que debes de modificar en la hoja de estilos anterior es el width y el height de acuerdo a tu contenido. Cuando lo hagas, también modifica margin-left y top. Nota que son los mismos valores que width y height pero divididos entre 2 y con número negativo.

Y este es el código donde colocas tu información:

<div class="horizonte">
   <div class="contenido">
      <table width="500" border="1" height="500">
         <tbody>
            <tr>
               <td align="center" valign="middle">
               Esto es una tabla.
               También podría ser un DIV o cualquier otro elemento.
               De igual forma se centraría horizontal y verticalmente en la página.
               </td>
            </tr>
         </tbody>
      </table>
   </div>
</div>

Aquí también modifica width y height en la tabla para que concuerden con los valores que pusiste en la hoja de estilos.

* Funciona en Internet Explorer y Firefox.

La propiedad overflow de CSS

La propiedad overflow de CSS define qué ocurre cuando el tamaño del contenido sobrepasa el tamaño del área que la contiene.

Es útil para colocar un scrollbar a un elemento DIV.

A continuación pongo un ejemplo y 4 imágenes que muestran cómo se ve con cada diferente opción.

La definición de la hoja de estilos

.divScrolls {
 font-family: Arial;
 font-size: 10px;
 background-color:#FFCC99;
 overflow:auto; /* Este valor hay que irlo cambiando para cada ejemplo */
 width: 300px;
 height: 300px;
 }
  1. .divScrolls {
  2. font-family: Arial;
  3. font-size: 10px;
  4. background-color:#FFCC99;
  5.  
  6. overflow:auto; /* Este valor hay que irlo cambiando para cada ejemplo */
  7. width: 300px;
  8. height: 300px;
  9. }

El HTML ejemplo

<div class="divScrolls">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean a nisl ac nibh ultrices elementum. Suspendisse potenti. Etiam eros elit, sollicitudin a, pretium nec, consequat blandit, elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus ac nunc. Nullam elementum arcu pellentesque nisi. Duis a nulla vel metus placerat porta. Etiam ullamcorper hendrerit ante. Sed eleifend nisl id lectus. Cras est. Curabitur nec dui. Integer venenatis, sapien in adipiscing luctus, turpis dolor porttitor nisi, id laoreet mi nunc vel dolor. Sed libero justo, dapibus vitae, tempus vitae, feugiat id, risus. Etiam blandit blandit justo. Phasellus lobortis, leo vitae pellentesque cursus, leo mauris elementum felis, a facilisis nisi felis ac nisl.

Proin libero elit, condimentum vitae, congue non, fermentum id, magna. Maecenas ipsum neque, pulvinar feugiat, fermentum nec, ultrices non, elit. Fusce in neque vel augue aliquet interdum. Etiam malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed sollicitudin odio vitae odio sagittis feugiat. Vivamus laoreet purus in nisl congue egestas. Proin dui risus, aliquet nec, ornare eget, hendrerit ut, felis. Maecenas imperdiet venenatis nisi. Donec vestibulum orci adipiscing lectus. Morbi venenatis, pede vitae pretium porttitor, sapien diam vulputate libero, in sagittis purus urna vel risus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
 Morbi rhoncus porta lectus. Ut volutpat quam sit amet mauris. Curabitur egestas. Maecenas placerat nibh ac enim. Cras neque neque, adipiscing eu, posuere vitae, eleifend eget, felis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla at nisi quis turpis suscipit faucibus. Nulla eget nisi. 

Nulla dignissim scelerisque ipsum. Vivamus malesuada odio at purus. Nulla porttitor, justo eu fringilla suscipit, quam lectus iaculis odio, et volutpat pede tellus et elit. Donec quis purus et purus luctus aliquam. Cras est neque, scelerisque et, vestibulum ullamcorper, eleifend mollis, massa. Morbi iaculis nisi non erat. Etiam dolor ante, dapibus nec, venenatis quis, tempus non, nisi. Nam aliquet tortor nec mi. Sed massa arcu, consectetuer ac, volutpat sit amet, tempus sit amet, pede. Donec rhoncus mattis dolor. Nulla purus erat, nonummy quis, scelerisque vitae, ornare at, enim.
</div>

Muestras

visible
Es el valor por default. Si el contenido no cabe, no se ajusta, se sale del elemento.
Overflow Visible

hidden
El contenido se ajusta al área, pero no se despliega ningún scrollbar para visualizar la parte que no se ve.
Overflow hidden

scroll
El contenido se ajusta, y se despliega un scrollbar que permite ver el resto del contenido.
Overflow scroll

auto
Si el contenido se ajusta, el navegador despliega un scrollbar.
Overflow auto

Texto opaco sobre fondo semi transparente con CSS

Si queremos tener un fondo semi transparente y un texto opaco encima, quizás lo primero que se nos ocurra sea crear un estilo que contenga filter:alpha(opacity=10); y -moz-opacity:0.1; y luego aplicárselo a un DIV o celda y colocar todo nuestro contenido ahí.

Bueno, lo anterior no sirve porque debido a que el texto se encuentra dentro del mismo bloque, también se hace transparente.

Lo que debemos hacer es crear dos bloques (DIV o celda) distintos: uno para el fondo semi transparente y otro para el texto (o contenido) que va encima. Y luego colocar uno encima del otro.

Esto se hace de la siguiente manera.

Hoja de estilos

.dppal {
   position: absolute;
}
 
.dfondo {
   width: 200px; height: 200px;
   background-color: #ff0000;
   filter:alpha(opacity=20);
   -moz-opacity:0.2;
   opacity: 0.2;
   padding:10px;
}
 
.dtexto {
   width: 200px; height: 200px;
   background-color: transparent;
   position: absolute;
   z-index: 2;
   padding:10px;  
}
<div class="dppal">
 
   <div class="dtexto">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer pharetra augue vel tellus. Nulla blandit urna sit amet metus.
   </div>
 
   <div class="dfondo">
 
   </div>
 
</div>