第一篇:使用Visual Studio 2008布局页面

    目录
     在每个项目的开始,我们最先做的事情一般就是页面布局(高风险实验除外),因为一个好的页面不仅仅能最大限度的吸引用户的眼球。还能帮助我们对自己的产品有一个直观的认识,帮助我们发现需求。
    设计之初不妨用笔在纸上先勾勒一个草图,这可以尽量节约我们的时间。



图1

 
    我们要实现的布局主要为4部分。
        页头:页面logo、广告、菜单及用户登录信息。
        页尾:版权说明及其它描述信息
        左边栏:用户定义信息、网站推荐等
        主题:分类查询、热门商品、热门商户等
    比较明显的,页头及页尾是各个页面的公有部分,我们通过模板来实现。

    打开visual studio 2008使用快捷键Ctrl+Shift+N打开新建项目窗口如图2,选择web,选择Asp.Net Web Application。选择Framework版本,visual studio 2008 将为我们筛选出适用与该版本的项目类型,这里我们选择3.5。输入Name、Location、Solution信息点击确认。 



图2

    将项目中自动添加的Default.aspx删除。
    
创建模板:
        选中项目名称使用快捷键Ctrl+Shift+A添加新的文件。选择Master Page,输入名称Main.Master确定。 

图3

生成代码如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site2.master.cs" Inherits="WebApplication2.Site2" %>


<!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 runat="server">
    
<title>Untitled Page</title>
    
<asp:ContentPlaceHolder ID="head" runat="server">
    
</asp:ContentPlaceHolder>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        
        
</asp:ContentPlaceHolder>
    
</div>
    
</form>
</body>
</html>

    IDE为我们生成了两个ContentPlaceHolder控件。应用该模板的页面将仅能在ContentPlaceHolder内操作。
    (小提示:使用菜单可以在设计器上显示标尺帮助我们设计,如图4.)


图4

    将<title>Untitled Page</title>移动到id为head的ContentPlaceHolder内

    <asp:ContentPlaceHolder ID="head" runat="server">
        
<title>Untitled Page</title>
    
</asp:ContentPlaceHolder>

    这将使我们应用该模板的页面可以定义页面title.
    在ContentPlaceHolder1上面添加一个div"<div id="pageHeader"></div>"。
    在ContentPlaceHolder1下面添加一个div"<div id="pageFooter"></div>"。
    Ctrl+Shift+A 选择Web Content From 输入Name:MainForm.aspx确定,选择Main.Master模板。
生成代码:

  <%@ Page Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="MainForm.aspx.cs" Inherits="WebApplication2.WebForm1" Title="Untitled Page" %>
  
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">     
  
</asp:Content>

  
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
  
</asp:Content>

    在Content2中添加两个div

    <div id="sideleft">
        
<div>
          
<p>left side</p>
        
</div>
    
</div>
    
<div id="sideright">
        
<p>right side</p>
    
</div>

    右键点击MainForm.aspx,选择“View in Browser”预览界面。很明显,现在并未达到我们的要求。因为我们并为向页面添加样式。
    Ctrl+Shift+A 选择Web选择Style Sheet输入Name"Main.css"确定。
    使用菜单打开Manage Stytles面板。

 图5

    打开Main.Master
    在Manage Stytles面板上点击"Attach Style Sheet"选择Main.css。
    在Manage Stytles面板上右键点击Main.css>New Styles创建新样式,生成如下代码

.page
{
 top: 0px;
 right: 0px;
 bottom: 0px;
 left: 0px;
 position: 
fixed
;
}

    点击设计器下方的Split按钮将设计器改为拆分窗口,如图6。在代码窗口内将光标定位在form段,在Manage Stytles中右键点击page>Apply Style.应用样式
代码:<form id="form1" runat="server" class="page">(Apply Styles面板同样具有此功能,并可预览Style),另外也可以手写应用Style,Visual Studio 2008已经对CSS有了很好的智能感知。

 
图6


    将模板最外面的DIV 的id设置为“wrap”,为ID为wrap的div定义样式

#wrap  {} {
 BORDER-RIGHT
: black 0px solid; BORDER-TOP: black 0px solid; MARGIN: 0px auto; OVERFLOW: hidden; BORDER-LEFT: black 0px solid; WIDTH: 1000px; BORDER-BOTTOM: black 0px solid
}

    以#开头的样式将根据页面元素的ID,自动应用。

    对header应用样式

.header_div  {} {
 CLEAR
: both; MARGIN: auto; WIDTH: 1000px; HEIGHT: 90px
}

    对footer应用样式

.footer
{} {
 FLOAT
: left;
 WIDTH
: 100%;
 text-align
: right;
 PADDING-RIGHT
: 2px;
 PADDING-LEFT
: 2px;
 FONT-SIZE
: 14px;
 PADDING-BOTTOM
: 1px! important;
 PADDING-TOP
: 3px! important;
 border-top
: #787888 1px solid;
 border-top-color
: #CCFFCC;
}


    对于CSS的定义网上已经有大量的资料,这就不多说了。  
完整示例代码:
Main.Master

Code
 1<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="AroundMeWeb.Main" %>
 2
 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 4<html xmlns="http://www.w3.org/1999/xhtml">
 5<head runat="server">
 6    <title>周边</title>
 7    <asp:ContentPlaceHolder ID="head" runat="server">
 8    </asp:ContentPlaceHolder>
 9    <link href="Main.css" rel="stylesheet" type="text/css" />
10</head>
11<body>
12    <form id="form1" runat="server" class="page">
13    <div id="wrap">
14        <div>
15            <div class="header_div">
16                <p>
17                    墙上的腊肉</p>
18            </div>
19            <div class="mainmenu">
20                <ul id="navlist_main">
21                        <li><id="clubHeader_lkHome" href="#">社区首页</a></li>&nbsp;
22                            <li><class="current" id="clubHeader_lkGroupMenu" href="#">小 组</a></li>&nbsp;
23                                <li><id="clubHeader_lkQuestionMenu" href="#">博 问</a></li>&nbsp;
24                                    <li><id="clubHeader_lkIngMenu" href="#">闪 存</a></li>&nbsp;
25                                        <li><id="clubHeader_lkMyMenu" href="#">我的空间</a></li>&nbsp;
26                                            <li><id="clubHeader_lkMyFriends" href="#">我的好友</a></li>&nbsp;
27                                                <li><href="#">网站首页</a> </li>
28                </ul>
29            </div>
30        </div>
31        <div class="pagebody">
32            <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">               
33            </asp:ContentPlaceHolder>

34        </div>
35        <div class="footer">
36        <div>
37        <p> ©2008 墙上的腊肉&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
38        </div>
39           
40        </div>

41    </div>
42    </form>
43</body>
44</html>
45
46

47


Main.aspx
Code
 1<%@ Page Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="Main.aspx.cs"
 2    Inherits="AroundMeWeb.WebForm1" Title="Untitled Page" 
%>
 3
 4<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

 5</asp:Content>
 6<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
 7    <div id="sideleft">
 8        <div>
 9<p>left side</p>
10        </div>
11    </div>
12    <div id="sideright">
13        <p>right side</p>
14    </div>
15</asp:Content>
16

Main.css
Code
  1body
  2{}
{
  3}

  4.page
  5{}
{
  6 top: 0px;
  7 right: 0px;
  8 bottom: 0px;
  9 left: 0px;
 10 position: fixed;
 11}

 12.header_div {}{
 13 CLEAR: both; MARGIN: auto; WIDTH: 1000px; HEIGHT: 90px
 14}

 15.footer
 16{}
{
 17 FLOAT: left;
 18 WIDTH: 100%;
 19 text-align: right;
 20 PADDING-RIGHT: 2px;
 21 PADDING-LEFT: 2px;
 22 FONT-SIZE: 14px;
 23 PADDING-BOTTOM: 1px! important;
 24 PADDING-TOP: 3px! important;
 25 border-top: #787888 1px solid;
 26 border-top-color: #CCFFCC;
 27}

 28.footerdiv
 29{}
{ 
 30 width:980px;

 31 
 32 padding-right:10px;

 33}

 34.mainbody
 35{}
{
 36}

 37.pagebody
 38{}
{
 39}

 40/**//*menu*/
 41.mainmenu
 42{}
{
 43 BACKGROUND: #e5ecf9; MARGIN: auto auto 20px; WIDTH: 975px; BORDER-BOTTOM: #2652a4 0px solid; HEIGHT: 26px
 44}

 45
 46.menu_select_box {}
{
 47 BORDER-RIGHT: red 0px solid; BORDER-TOP: red 0px solid; BACKGROUND: none transparent scroll repeat 0% 0%; BORDER-LEFT: red 0px solid; WIDTH: 180px; BORDER-BOTTOM: red 0px solid
 48}

 49.menu_select {}{
 50 BORDER-RIGHT: #2652a4 1px solid; BORDER-TOP: #2652a4 1px solid; PADDING-LEFT: 0px! important; FONT-SIZE: 14px; BACKGROUND: white; LEFT: 100px; BORDER-LEFT: #2652a4 1px solid; WIDTH: 70px! important; COLOR: #2652a4; LINE-HEIGHT: 25px; BORDER-BOTTOM: white 0px solid; POSITION: relative; TOP: 1px; HEIGHT: 25px; TEXT-ALIGN: center
 51}

 52.menu_link {}{
 53 FONT-SIZE: 14px; BACKGROUND: none transparent scroll repeat 0% 0%; FLOAT: right; WIDTH: 780px; COLOR: #9bc9df; LINE-HEIGHT: 25px; HEIGHT: 25px
 54}

 55#wrap {}{
 56 BORDER-RIGHT: black 0px solid; BORDER-TOP: black 0px solid; MARGIN: 0px auto; OVERFLOW: hidden; BORDER-LEFT: black 0px solid; WIDTH: 1000px; BORDER-BOTTOM: black 0px solid
 57}

 58#main {}{
 59 MARGIN: 0px auto; WIDTH: 1000px
 60}

 61#header {}{
 62 TEXT-ALIGN: left
 63}

 64#sideleft {}{
 65 BACKGROUND: #fff; FLOAT: left; OVERFLOW: hidden; WIDTH: 30%; padding-left: 10px;
 66TEXT-ALIGN: left
 67}

 68#sideright {}{
 69 FLOAT: right; WIDTH: 68%; TEXT-ALIGN: left;padding-right: 10px
 70}

 71#sideleft {}{
 72 MARGIN-BOTTOM: -32767px! important; PADDING-BOTTOM: 32767px! important
 73}

 74#sideright {}{
 75 MARGIN-BOTTOM: -32767px! important; PADDING-BOTTOM: 32767px! important
 76}

 77
 78#navlist_main {}
{
 79 PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-SIZE: 14px; PADDING-BOTTOM: 1px! important; PADDING-TOP: 3px! important; BORDER-BOTTOM: #787888 1px solid
 80}

 81#navlist_main LI {}{
 82 DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none
 83}

 84#navlist_main LI A {}{
 85 PADDING-RIGHT: 9px; PADDING-LEFT: 9px; FONT-SIZE: 14px; PADDING-BOTTOM: 3px; MARGIN-LEFT: 1px; PADDING-TOP: 5px; LETTER-SPACING: 1px; TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: none
 86}

 87#navlist_main LI A:link {}{
 88 COLOR: #075db3
 89}

 90#navlist_main LI A:visited {}{
 91 COLOR: #075db3
 92}

 93#navlist_main LI A:hover {}{
 94 COLOR: #ff6600
 95}

 96#navlist_main LI A.current {}{
 97 BORDER-RIGHT: #787888 1px solid; BORDER-TOP: #787888 1px solid; FONT-WEIGHT: bold; BACKGROUND: #ffffff; MARGIN-LEFT: 6px; BORDER-LEFT: #787888 1px solid; COLOR: #666677; MARGIN-RIGHT: 10px; BORDER-BOTTOM: white 1px solid; LETTER-SPACING: 0px
 98}

 99/**//*endmenu*/
100
101

 

posted on 2008-01-10 21:02 tianyamoon 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/tianyamoon/archive/2008/01/10/1032695.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio中,可以按照资源加载顺序调整界面布局。另外,可以通过视图菜单中的选项重新调出解决方案资源管理器视图。将视图布局设置为个人喜好的位置,例如放到代码编辑区的右侧。 在Visual Studio中还有一些常用的快捷键可以用于设置页面布局。例如,使用Ctrl + Shift + / 可以将选中的多行注释或光标所在行的单行注释取消。使用Ctrl + Shift + Enter可以在当前行的下面重启一行,而Ctrl + Enter则可以在当前行的上面重启一行。Ctrl + L可以删除当前行并将下一行往上移,类似于Shift + Delete的功能。Ctrl + Backspace可以清空当前行的内容但保留当前行。Ctrl + D可以向下复制当前行。Ctrl + F和Ctrl + H可以进行查找和替换操作。Ctrl + U可以将选中的内容转换为小写,而Ctrl + Shift + U则可以将选中的内容转换为大写。 综上所述,Visual Studio页面布局设置可以通过调整界面布局使用快捷键来实现。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Visual Studio Help Downloader Plus v5.0.1.0](https://download.csdn.net/download/fksec/10020852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Visual Studio 2019 的快捷键和视图布局使用](https://blog.csdn.net/adminstate/article/details/130180430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值