Bulma表单

Bulma表单,登录表单包括4部分:

  • 邮箱输入框;
  • 密码输入框;
  • “Remember me”(是否记住)复选框;
  • 提交按钮。

下面向其中一些控件添加占位符和必需(required)属性,并处理表单错误,以便向用户提示未能登录的原因。

为了确保用户登录了正确的网站,首先添加一个logo,用以替换文本“Login”,如图所示:

<form class="box">     
    <div class="field has-text-centered">      
    <img src="images/coolcou_logo_bis.png" width="167">   
    </div> 
</form>

Bulma表单

请确保images目录和login.html相邻。

Bulma提供了field类来均匀分隔表单区域,以及一组类似于has-text-centered(给元素添加居中和行内效果)的辅助类来排布表单元素。

邮箱输入框

使用Bulma的如下两个类来实现输入框:

  • label:专为标签设计的类,它会给标签元素添加加粗效果和设置底部间距。
  • control:相当于表单输入容器,利用它可以给表单元素添加图标。
    首先编写如下代码:
<div class="field">
    <label class="label">
    Email
    </label>
    <div class="control"> 
    <input class="input" type="email" placeholder="e.g.coolcou@gmail.com">
    </div>    
</div>

预览效果如图所示:
Bulma表单

完整代码:

<! DOCTYPE html>    
<html>      
    <head>  
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">        
        <title>Login</title>      
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">    
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.1/css/bulma.min.css">     
    </head>     
    <body>        
    <! -- 在此处编写页面内容代码 -->      
    <section class="hero is-primary is-fullheight">      
        <div class="hero-body">      
        <div class="container">     
        <div class="columns is-centered">       
        <div class="column is-5-tablet is-4-desktop is-3-widescreen">     
            <form class="box">     
                <div class="field has-text-centered">      
                <img src="images/coolcou_logo_bis.png" width="167">   
                </div> 
                <div class="field">
                    <label class="label">
                    Email
                    </label>
                    <div class="control"> 
                    <input class="input" type="email" placeholder="e.g.coolcou@gmail.com">
                    </div>    
                </div>
            </form>     
        </div>          
        </div>    
        </div>  
        </div>    
    </section>
    </body>    
</html>

其中使用了HTML5的邮箱输入框,也可以使用Font Awesome的邮箱图标来修饰,以增强该输入框的语义。
在使用Bulma之前,首先需要给control元素添加has-icons-left修饰符,该修饰符会让control元素左边留出一定空间来放置图标。

<div class="control has-icons-left">

因为是邮箱输入框,所以选择一个信封的图标,同时添加修饰符使得图标居左并适配control元素左边留出的空间。

<span class="icon is-small is-left">     
 <i class="fa fa-envelope"></i>  
</span>
  • icon:Bulma定义的图标类。
  • is-small:以小尺寸显示图标的修饰符。也可以使用is-large修饰符来以大尺寸显示。
  • is-left:居左排列。

现在control元素包含了一个左边带图标的输入框,如图所示:

<div class="control has-icons-left">
    <input class="input" type="email" placeholder="e.g. coolcou@smith.com" re-quired>   
    <span class="icon is-small is-left">   
    <i class="fa fa-envelope"></i> 
    </span>   
</div>

Bulma表单

说明:即使在页面加载后加载图标,布局也不会出现塌陷,Bulma确保了图标所占空间是固定的,即使图标未加载完成。

密码输入框

密码输入框和邮箱输入框非常类似,因此可以复制邮箱部分的代码,稍做改动,效果如图所示。

  • label部分改成“Password”
  • 输入框的类型改为password。
  • 输入框占位符设置为******。
  • 图标改为fa-lock类型。
<div class="field">  
    <label class="label">Password</label>   
    <div class="control has-icons-left">     
        <input class="input" type="password" placeholder="********" required>  
        <span class="icon is-small is-left">   
        <i class="fa fa-lock"></i>     
        </span>    
    </div>  
</div>

Bulma表单

邮箱输入框和密码输入框采用同样的类,因此显示效果相同。

复选框

添加“Remember me”复选框。<label>标签可以增大点击区域,使得“Remember me”文本同样可点击。
因为不需要使用图标,所以这里无须使用control辅助类,效果如图所示。

<div class="field"> 
    <label class="checkbox">   
    <input type="checkbox">      
    Remember me     
    </label>   
</div>

Bulma表单

登录按钮

为了完成表单,还需要一个提交按钮。Bulma提供了button类来实现按钮效果,可在如下元素中使用:

  • 锚标签<a>
  • 按钮标签<button>
  • 输入标签<input type="submit">
    推荐使用<button>标签,因为它是灵活有效的表单元素,效果如图所示。
<div class="field"> 
    <button class="button is-success">    
    Login     
    </button>  
</div>

Bulma表单

完整代码如下:

<! DOCTYPE html>    
<html>      
    <head>  
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">        
        <title>Login</title>      
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">    
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.1/css/bulma.min.css">     
    </head>     
    <body>        
    <! -- 在此处编写页面内容代码 -->      
    <section class="hero is-primary is-fullheight">      
        <div class="hero-body">      
        <div class="container">     
        <div class="columns is-centered">       
        <div class="column is-5-tablet is-4-desktop is-3-widescreen">     
            <form class="box">     
                <div class="field">
                    <button class="button is-success">    
                    Login     
                    </button>  
                    </div>  
                </div>
            </form>     
        </div>          
        </div>    
        </div>  
        </div>    
    </section>
    </body>    
</html>


赞(2)

评论 抢沙发

评论前必须登录!