diff --git a/webroot/sites/all/modules/editablefields/editablefields.css b/webroot/sites/all/modules/editablefields/editablefields.css
new file mode 100644
index 0000000..bd34f0e
--- /dev/null
+++ b/webroot/sites/all/modules/editablefields/editablefields.css
@@ -0,0 +1,12 @@
+.editablefield-item {
+  position: relative;
+}
+input.editablefield-edit-hover.form-submit {
+  position: absolute;
+  cursor: pointer;
+  font-size: xx-small;
+  display: block;
+  margin-bottom: 0em;
+  bottom: -2.25em;
+  z-index: 200;
+}
diff --git a/webroot/sites/all/modules/editablefields/editablefields.js b/webroot/sites/all/modules/editablefields/editablefields.js
index 6984209..f890b66 100644
--- a/webroot/sites/all/modules/editablefields/editablefields.js
+++ b/webroot/sites/all/modules/editablefields/editablefields.js
@@ -12,6 +12,17 @@ Drupal.behaviors.editablefields_submit = {
           $this.find('input.form-submit').triggerHandler('click');
         });
       }
+
+      var className = 'input.form-submit.editablefield-edit-hover';
+      $this
+        .find(className)
+          .hide()
+        .end()
+        .hover(
+          function () {
+            $this.find(className).toggle();
+          }
+        );
     });
   }
 };
diff --git a/webroot/sites/all/modules/editablefields/editablefields.module b/webroot/sites/all/modules/editablefields/editablefields.module
index ea320fd..292f8ef 100755
--- a/webroot/sites/all/modules/editablefields/editablefields.module
+++ b/webroot/sites/all/modules/editablefields/editablefields.module
@@ -18,6 +18,7 @@ function editablefields_field_formatter_info() {
         'fallback_format' => NULL,
         'fallback_settings' => array(),
         'click_to_edit' => FALSE,
+        'click_to_edit_style' => 'button',
         'empty_text' => '',
       ),
     ),
@@ -34,6 +35,9 @@ function editablefields_library() {
     'js' => array(
       drupal_get_path('module', 'editablefields') . '/editablefields.js' => array('group' => JS_DEFAULT + 1),
     ),
+    'css' => array(
+      drupal_get_path('module', 'editablefields') . '/editablefields.css' => array('group' => CSS_DEFAULT + 1),
+    ),
     'dependencies' => array(
       array('system', 'drupal.form'),
       // editablefields.js contains a small override to the autocomplete code.
@@ -64,6 +68,23 @@ function editablefields_field_formatter_settings_form($field, $instance, $view_m
     '#title' => t('Click to edit'),
     '#default_value' => $settings['click_to_edit'],
   );
+
+  $field_name = $form_state['triggering_element']['#field_name'];
+  $element['click_to_edit_style'] = array(
+    '#type' => 'select',
+    '#title' => t('Click to edit style'),
+    '#options' => array(
+      'button' => t('Button'),
+      'hover' => t('Hover'),
+    ),
+    '#default_value' => $settings['click_to_edit_style'],
+    '#states' => array(
+      'visible' => array(
+        ':input[name="fields[' . $field_name . '][settings_edit_form][settings][click_to_edit]"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
+
   $element['empty_text'] = array(
     '#type' => 'textarea',
     '#rows' => 3,
@@ -333,6 +354,7 @@ function editablefields_form($form, &$form_state, $entity_type, $entity, $field,
     );
   }
   else {
+    $edit_style = isset($display['settings']['click_to_edit_style']) ? $display['settings']['click_to_edit_style'] : 'button';
     $items = $entity->{$field['field_name']};
     $items = isset($items[$langcode]) ? $items[$langcode] : array();
     $shield = new EditableFieldsShield();
@@ -351,7 +373,10 @@ function editablefields_form($form, &$form_state, $entity_type, $entity, $field,
       '#ajax' => $ajax,
       '#limit_validation_errors' => array($form['#parents']),
       '#attributes' => array(
-        'class' => array('editablefield-edit'),
+        'class' => array(
+          'editablefield-edit',
+          'editablefield-edit-' . $edit_style,
+        ),
       ),
     );
   }
