0

当您对博客文章(例如,在http://helloarchie.blue/posts/fashion-friday-6上)提交评论时,页面会刷新并在表单上方显示“成功”消息。

现在我的布局上有一个固定的标题,成功消息显示在它后面,因此用户看不到它,也没有意识到他们的评论已经通过。

我正在使用 Anchor CMS,因此很难找到所有正在使用的 CSS 等,因为它在许多不同的地方使用,但这是我可以找到的与通知相关的 CSS,无论我尝试什么,我似乎都找不到将其推到该固定标题下方。

PHP

// form elements
function comment_form_notifications() {
return Notify::read();
}

function comment_form_url() {
return Uri::to(Uri::current());
}

function comment_form_input_name($extra = '') {
return '<input name="name" id="name" type="text" ' . $extra . '     value="' . Input::previous('name') . '">';
}

function comment_form_input_email($extra = '') {
return '<input name="email" id="email" type="email" ' . $extra . '     value="' . Input::previous('email') . '">';
}

function comment_form_input_text($extra = '') {
return '<textarea name="text" id="text" ' . $extra . '>' .     Input::previous('text') . '</textarea>';
}

function comment_form_button($text = 'Post Comment', $extra = '') {
return '<button class="btn" type="submit" ' . $extra . '>' . $text . '</button>';
}

PHP

<?php

class Notify {

public static $types = array('error', 'notice', 'success', 'warning');
public static $wrap = '<div class="notifications">%s</div>';
public static $mwrap = '<p class="%s">%s</p>';

public static function add($type, $message) {
    if(in_array($type, static::$types)) {
        $messages = array_merge((array) Session::get('messages.' .   $type), (array) $message);

        Session::put('messages.' . $type, $messages);
    }
}

public static function read() {
    $types = Session::get('messages');

    // no messages no problem
    if(is_null($types)) return '';

    $html = '';

    foreach($types as $type => $messages) {
        foreach($messages as $message) {
            $html .= sprintf(static::$mwrap, $type, implode('<br>',     (array) $message));
        }
    }

    Session::erase('messages');

    return sprintf(static::$wrap, $html);
}

public static function __callStatic($method, $paramaters = array()) {
    static::add($method, array_shift($paramaters));
}

}

<?php

class Migration_add_comment_notifications extends Migration {

public function up() {
    $table = Base::table('meta');

    if($this->has_table($table)) {
        if( ! Query::table($table)->where('key', '=',   'comment_notifications')->count()) {
            Query::table($table)->insert(array(
                'key' => 'comment_notifications',
                'value' => 0
            ));
        }
    }
}

public function down() {}

}

CSS

.notifications {
margin-bottom: 10px;
}

.notifications .notice, .notifications .error, .notifications .success     {
    padding: 10px 18px;
    margin-bottom: 20px;

    font-size: 13px;
    line-height: 21px;
    font-weight: 500;

    border-radius: 5px;
}

.notifications .notice {
    color: #fff;
    background: #578cd9;
}

.notifications .error {
    color: #fff;
    background: #d34937;
}

.notifications .success {
    color: #fff;
    background: #64a524;
}


.header .notifications {
position: absolute;
left: 55%;
top: 182px;
z-index: 1200;
width: 320px;
}
.header .page .notifications {
left: 48%;
}
.header .notifications div:after {
    content: '';
    position: absolute;
    display: block;
    top: -6px;
    right: 50px;

    border-bottom: 6px solid #64a524;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
}

.header .notifications .error:after {
    border-bottom-color: #d34937;
}
4

1 回答 1

0

将 z-index 赋予成功 div 而非标题。

于 2015-02-23T10:47:20.153 回答