HAML: ширина столбца таблицы не работает

#ruby-on-rails #css #ruby #haml #markup

#ruby-on-rails #css #ruby #haml #разметка

Вопрос:

Ничего из этого не работает. Когда я набираю большую текстовую таблицу, углубляясь вправо, появляется горизонтальная навигация.

index.haml

 %table{:border => 1, :width => "100%"}
  %tr
    %th{:width => "200"} Name
    %th.edit Edit

  - @wallpapers.each do |wallpaper|
    %tr
      %td.name= wallpaper.name
      %td= link_to (image_tag wallpaper.thumb.url(:thumb)), edit_wallpaper_path(wallpaper)
      %td= button_to 'Delete', wallpaper_path(wallpaper), :confirm => 'Are you sure you want to delete this wallpaper?', :method => :delete
  

style.css

 th.edit {width:20%;}
td.name {width:20%;}
  

Ответ №1:

Вы действительно хотите установить стиль, а не атрибуты html

Попробуйте это:

 %table{:style=>"border: 1px; width: 100%"}
  

То, что вы на самом деле создаете, это:

 <table border="1" width="100%">
  

И вы должны создавать:

 <table style="border: 1px; width: 100%">
  

конечно, использование классов и CSS было бы лучше, но это решит насущную проблему.

Комментарии:

1. это потому, что я использовал такую вещь %table.classname{:cellpadding=>5,:cellspacing=> 5,:border=>’1′} . Как вы знаете, cellpadding и cellspacing не являются частью CSS. Но в любом случае ваше решение не работает для меня: (Столбцы таблицы по-прежнему широкие. Я сделал %th{ :style => «width:200px»; } Имя и ничего.

2. это правильный способ сделать это в Haml. теперь ваши проблемы в CSS.

3. итак, ошибка новичка: (У меня есть тестовый текст, такой как «ааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааа …» без каких-либо пробелов. И из-за этого появляется горизонтальная навигация. Спасибо, Джесси! 🙂