整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

利用CSS垂直居中创建网站实例,求围观

利用CSS垂直居中创建网站实例,求围观

节分享了利用css居中的五种方法,现在我们开始创建一个简单但是有趣的网站。最终的样子是这样的:

步骤一

以语义化标签开始是很好的。下面是我们的页面构成:

#floater (to push the content into the middle)

#centred (the centre box)

#side

#logo

#nav (unordered list <ul>)

#content

#bottom (for copyright, etc.)

这是我用到的 xhtml 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>A Centred Company</title>

<link rel="stylesheet" href="styles.css" type="text/css" media="all" />

</head>

<body>

<div id="floater"></div>

<div id="centered">

<div id="side">

<div id="logo">

<strong><span>A</span> Company</strong>

</div>

<ul id="nav">

<li><a href="#">Home</a></li>

<li><a href="#">Products</a></li>

<li><a href="#">Blog</a></li>

<li><a href="#">Contact</a></li>

<li><a href="#">About</a></li>

</ul>

</div>

<div id="content">

<h1>Page Title</h1>

<p>Holisticly re-engineer value-added outsourcing after

process-centric collaboration and idea-sharing. Energistically

simplify impactful niche markets via enabled imperatives. Holisticly

predominate premium innovation after compelling scenarios.

Seamlessly recaptiualize high standards in human capital with

leading-edge manufactured products. Distinctively syndicate

standards compliant schemas before robust vortals. Uniquely

recaptiualize leveraged web-readiness vis-a-vis out-of-the-box

information.</p>

<h2>Heading 2</h2>

<p>Efficiently embrace customized web-readiness rather than

customer directed processes. Assertively grow cross-platform

imperatives vis-a-vis proactive technologies. Conveniently empower

multidisciplinary meta-services without enterprise-wide interfaces.

Conveniently streamline competitive strategic theme areas with

focused e-markets. Phosfluorescently syndicate world-class

communities vis-a-vis value-added markets. Appropriately reinvent

holistic services before robust e-services.</p>

</div>

</div>

<div id="bottom">

<p>Copyright notice goes here</p>

</div>

</body>

</html>

步骤二:

现在我们开始用一些基本的 CSS 来给页面添加样式。把以下代码放入在我们的 html 页面顶部被引入的 style.css。

html, body {

margin: 0;

padding: 0;

height: 100%;

}

body {

background: url('page_bg.jpg') 50% 50% no-repeat #FC3;

font-family: Georgia, Times, serifs;

}

#floater {

position: relative;

float: left;

height: 50%;

margin-bottom: -200px;

width: 1px;

}

#centered {

position: relative;

clear: left;

height: 400px;

width: 80%;

max-width: 800px;

min-width: 400px;

margin: 0 auto;

background: #fff;

border: 4px solid #666;

}

#bottom {

position: absolute;

bottom: 0;

right: 0;

}

#nav {

position: absolute;

left: 0;

top: 0;

bottom: 0;

right: 70%;

padding: 20px;

margin: 10px;

}

#content {

position: absolute;

left: 30%;

right: 0;

top: 0;

bottom: 0;

overflow: auto;

height: 340px;

padding: 20px;

margin: 10px;

}

#centered {

-webkit-border-radius: 8px;

-moz-border-radius: 8px;

border-radius: 8px;

}

h1, h2, h3, h4, h5, h6 {

font-family: Helvetica, Arial, sans-serif;

font-weight: normal;

color: #666;

}

h1 {

color: #f93;

border-bottom: 1px solid #ddd;

letter-spacing: -0.05em;

font-weight: bold;

margin-top: 0;

padding-top: 0;

}

#bottom {

padding: 10px;

font-size: 0.7em;

color: #f03;

}

#logo {

font-size: 2em;

text-align: center;

color: #999;

}

#logo strong {

font-weight: normal;

}

#logo span {

display: block;

font-size: 4em;

line-height: 0.7em;

color: #666;

}

p, h2, h3 {

line-height: 1.6em;

}

a {

color: #f03;

}

在我们能够把 content 垂直居中之前, body 和 html 应该被拉伸到 100% 的高度。由于 height

在 padding 和 margin 之内,所以我们要把它们设成 0 以防止因为很小的 margin 出现滚动条。

floater 的 margin-bottom 是 content 高度(400px)的一半, -200px。

现在可以看到一下效果:

#centred 的宽度为 80%。这可以市网页随着显示器的大小而变化。一般称作流体布局。设置 min-width 和

max-width 以避免网页过大或者过小。 但是 IE 不支持 min/max-width。显然可以用固定宽度来代替。

因为 #centred 是相对定位的,在它里面我们可以用绝对定位来定位元素。设置 #content 的 overflow:auto;

以避免滚动条的出现。IE 不怎么喜欢 overflow:auto; 除非我们指定高度(不是 top 和 bottom 的定位,也不是 %)

因此我们给它指定高度。

步骤三

最后要做的就是再添加点样式,让页面好看点。从目录开始吧。

#nav ul {

list-style: none;

padding: 0;

margin: 20px 0 0 0;

text-indent: 0;

}

#nav li {

padding: 0;

margin: 3px;

}

#nav li a {

display: block;

background-color: #e8e8e8;

padding: 7px;

margin: 0;

text-decoration: none;

color: #000;

border-bottom: 1px solid #bbb;

text-align: right;

}

#nav li a::after {

content: '?';

color: #aaa;

font-weight: bold;

display: inline;

float: right;

margin: 0 2px 0 5px;

}

#nav li a:hover, #nav li a:focus {

background: #f8f8f8;

border-bottom-color: #777;

}

#nav li a:hover::after {

margin: 0 0 0 7px;

color: #f93;

}

#nav li a:active {

padding: 8px 7px 6px 7px;

}

需要注意的是 #centred 的圆角。 CSS3 中,应该有 border-radius 属性来设定圆角的半径(可参考 CSS3之旅: border-radius(圆角) – 糖伴西红柿)。现在的流行的浏览器都还不支持,除非用 -moz(Molilla Firefox) 或者 -webit(Safari/Webkit) 前缀.

水平居中经常用,其实垂直居中也很有用的。平时用的最多的应该是上节讲的方法五了,算是个小技巧吧。谁还有更好的方法吗,欢迎留言交流。

evExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

DevExpress WinForm 近日正式发布了2022年第一个重大版本——v22.1,此版本也正式升级了之前版本中发布的HTML CSS模板功能,欢迎下载最新版体验!

DevExpress WinForms Subscription官方最新版免费下载试用,历史版本下载,在线文档和帮助文件下载-慧都网

HTML CSS 模板

列表框、组合框、警报 - HTML和CSS标记支持

v22.1 为我们的WinForms ListBox、ComboBox和Alert控件引入了 HTML 和 CSS 标记支持,使用HtmlTemplates属性定义可应用于项目的HTML-CSS模板集合,阅读以下文章:

  • DevExpress WinForms的HTML & CSS 模板 — 新控件和功能
  • DevExpress WinForms HTML & CSS模板——轻松创建警报通知

处理以下事件以响应针对 HTML UI 元素的鼠标操作:

  • HtmlElementMouseOver
  • HtmlElementMouseMove
  • HtmlElementMouseOut
  • HtmlElementMouseClick
  • HtmlElementMouseDown
  • HtmlElementMouseUp

HTML Content控件 - 存储库项的输入标记

您现在可以将存储库项目包装在 <input> 标记内。

'name' 属性按名称引用存储库项,'value' 属性指定数据字段名称。

HTML

<div class='default-avatar-container' hidden='${HasPhoto}'>
<input class='default-avatar' name='pictureEdit' value='${Photo}' />
<a class='choose-photo' id='choose_Photo'>Choose a photo</a>
</div>
<div class='default-avatar-container avatar-container' hidden='${IsDefaultPhoto}'>
<input class='avatar' name='pictureEdit' value='${Photo}' />
</div>
<div class='input-box'>
<input class='input' name='emailEdit' value='${Email}'/>
</div>

我们的Template Designer 在包括'In-place Editor Repository' 选项卡,打开此选项卡来创建要在 HTML 模板中引用的存储库项目。

HTML模板设计器增强

HTML 模板设计器现在附带以下选项:

  • 区域折叠
  • 缩进指南
  • 行号

TileView - 项目自动高度

我们添加了一个新的TileViewOptionsHtmlTemplate.ItemAutoHeight 选项来支持由HTML和基于CSS模板呈现的图块的自动高度模式,在自动高度模式下,磁贴会垂直拉伸以完全显示内容。

新的 CSS 属性

我们支持以下 CSS 属性:

  • overflow-wrap
  • white-space
  • background-image
  • background-position
  • background-size
  • background-repeat

文简介

点赞 + 关注 + 收藏=学会了