I'm trying to display a block on a left side bar with few links. I've created a block and it shows up with the links but NO CSS applied:

<div class="vertical-tabs">
    <ul class="ul.vertical-tabs-list">
            <a href="/">Home</a>
            <a href="itemInfo">Site Info</a>
            <a href="jobs">Career</a>
            <a href="aboutus">About Us</a>

When I check the elements in UI, it doesn't show the vertical-tabs class being applied.

I'm not looking for any custom form. I need to know how the CSS should be applied in this case.


  • example: jsfiddle.net/0c4ap3kh
    – No Sssweat
    Apr 12, 2016 at 2:39
  • You may have a text-format applied that strips out certain html elements.
    – Volker
    Apr 12, 2016 at 11:49
  • Are you creating the block in a module, or from the user interface?
    – apaderno
    Apr 12, 2016 at 12:24
  • Creating a block from the interface. There is no custom form/code.
    – Vish
    Apr 12, 2016 at 16:28

3 Answers 3


There's a template hook for this: template_preprocess_block

Use $variables['classes_array'] to add classes to the block.

  • To add the template hook, I should have custom code written. That's not the case here. I'm using a user interface to create a new block. So I'm not sure on how to add this hook in interface.
    – Vish
    Apr 12, 2016 at 16:29

Try this for custom block

function my_module_block_view($delta = '')
  if($delta == 'my_module_delta')
    $block = array
      'subject' => t('My block title'),
      'content' => '<p>' . t('This is some text that will go in the block.') . '</p>',
    return $block;

Try this

$block['content']['#attached']['css'][] = drupal_get_path('module','mymodule') . '/mymodule.css';

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.