From 5cf943209c9fd3da4bf08022435e6e4d549b04ed Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:40:48 +0500 Subject: [PATCH 1/7] refactor: update CSS js html according to rule 1.1 in html-and-css.md --- app.js | 278 ++++++++++++++++++++++++----------------------------- index.html | 68 ++++++++++--- style.css | 183 ++++++++++++++++++++--------------- 3 files changed, 283 insertions(+), 246 deletions(-) diff --git a/app.js b/app.js index ab737a6002..c44ce680af 100644 --- a/app.js +++ b/app.js @@ -5,189 +5,163 @@ //Solution: Add interactivity so the user can manage daily tasks. //Break things down into smaller steps and take each step at a time. - // Event handling, user interaction is what starts the code execution. -var taskInput=document.getElementById("new-task");//Add a new task. -var addButton=document.getElementsByTagName("button")[0];//first button -var incompleteTaskHolder=document.getElementById("incompleteTasks");//ul of #incompleteTasks -var completedTasksHolder=document.getElementById("completed-tasks");//completed-tasks - +var taskInput = document.getElementById ('new-task'); //Add a new task. +var addButton = document.getElementsByTagName ('button')[0]; //first button +var incompleteTaskHolder = document.getElementById ('incompleteTasks'); //ul of #incompleteTasks +var completedTasksHolder = document.getElementById ('completed-tasks'); //completed-tasks //New task list item -var createNewTaskElement=function(taskString){ - - var listItem=document.createElement("li"); - - //input (checkbox) - var checkBox=document.createElement("input");//checkbx - //label - var label=document.createElement("label");//label - //input (text) - var editInput=document.createElement("input");//text - //button.edit - var editButton=document.createElement("button");//edit button - - //button.delete - var deleteButton=document.createElement("button");//delete button - var deleteButtonImg=document.createElement("img");//delete button image - - label.innerText=taskString; - label.className='task'; - - //Each elements, needs appending - checkBox.type="checkbox"; - editInput.type="text"; - editInput.className="task"; - - editButton.innerText="Edit"; //innerText encodes special characters, HTML does not. - editButton.className="edit"; - - deleteButton.className="delete"; - deleteButtonImg.src='./remove.svg'; - deleteButton.appendChild(deleteButtonImg); - - - //and appending. - listItem.appendChild(checkBox); - listItem.appendChild(label); - listItem.appendChild(editInput); - listItem.appendChild(editButton); - listItem.appendChild(deleteButton); - return listItem; -} - - - -var addTask=function(){ - console.log("Add Task..."); - //Create a new list item with the text from the #new-task: - if (!taskInput.value) return; - var listItem=createNewTaskElement(taskInput.value); +var createNewTaskElement = function (taskString) { + var listItem = document.createElement ('li'); + + //input (checkbox) + var checkBox = document.createElement ('input'); //checkbx + //label + var label = document.createElement ('label'); //label + //input (text) + var editInput = document.createElement ('input'); //text + //button.edit + var editButton = document.createElement ('button'); //edit button + + //button.delete + var deleteButton = document.createElement ('button'); //delete button + var deleteButtonImg = document.createElement ('img'); //delete button image + + label.innerText = taskString; + label.className = 'task'; + + //Each elements, needs appending + checkBox.type = 'checkbox'; + editInput.type = 'text'; + editInput.className = 'task'; + + editButton.innerText = 'Edit'; //innerText encodes special characters, HTML does not. + editButton.className = 'edit'; + + deleteButton.className = 'delete'; + deleteButtonImg.src = './remove.svg'; + deleteButton.appendChild (deleteButtonImg); + + //and appending. + listItem.appendChild (checkBox); + listItem.appendChild (label); + listItem.appendChild (editInput); + listItem.appendChild (editButton); + listItem.appendChild (deleteButton); + return listItem; +}; - //Append listItem to incompleteTaskHolder - incompleteTaskHolder.appendChild(listItem); - bindTaskEvents(listItem, taskCompleted); +var addTask = function () { + console.log ('Add Task...'); + //Create a new list item with the text from the #new-task: + if (!taskInput.value) return; + var listItem = createNewTaskElement (taskInput.value); - taskInput.value=""; + //Append listItem to incompleteTaskHolder + incompleteTaskHolder.appendChild (listItem); + bindTaskEvents (listItem, taskCompleted); -} + taskInput.value = ''; +}; //Edit an existing task. -var editTask=function(){ - console.log("Edit Task..."); - console.log("Change 'edit' to 'save'"); - - - var listItem=this.parentNode; - - var editInput=listItem.querySelector('input[type=text]'); - var label=listItem.querySelector("label"); - var editBtn=listItem.querySelector(".edit"); - var containsClass=listItem.classList.contains("editMode"); - //If class of the parent is .editmode - if(containsClass){ - - //switch to .editmode - //label becomes the inputs value. - label.innerText=editInput.value; - editBtn.innerText="Edit"; - }else{ - editInput.value=label.innerText; - editBtn.innerText="Save"; - } - - //toggle .editmode on the parent. - listItem.classList.toggle("editMode"); +var editTask = function () { + console.log ('Edit Task...'); + console.log ("Change 'edit' to 'save'"); + + var listItem = this.parentNode; + + var editInput = listItem.querySelector ('input[type=text]'); + var label = listItem.querySelector ('label'); + var editBtn = listItem.querySelector ('.edit'); + var containsClass = listItem.classList.contains ('editMode'); + //If class of the parent is .editmode + if (containsClass) { + //switch to .editmode + //label becomes the inputs value. + label.innerText = editInput.value; + editBtn.innerText = 'Edit'; + } else { + editInput.value = label.innerText; + editBtn.innerText = 'Save'; + } + + //toggle .editmode on the parent. + listItem.classList.toggle ('editMode'); }; - //Delete task. -var deleteTask=function(){ - console.log("Delete Task..."); - - var listItem=this.parentNode; - var ul=listItem.parentNode; - //Remove the parent list item from the ul. - ul.removeChild(listItem); - -} +var deleteTask = function () { + console.log ('Delete Task...'); + var listItem = this.parentNode; + var ul = listItem.parentNode; + //Remove the parent list item from the ul. + ul.removeChild (listItem); +}; //Mark task completed -var taskCompleted=function(){ - console.log("Complete Task..."); - - //Append the task list item to the #completed-tasks - var listItem=this.parentNode; - completedTasksHolder.appendChild(listItem); - bindTaskEvents(listItem, taskIncomplete); - -} - - -var taskIncomplete=function(){ - console.log("Incomplete Task..."); -//Mark task as incomplete. - //When the checkbox is unchecked - //Append the task list item to the #incompleteTasks. - var listItem=this.parentNode; - incompleteTaskHolder.appendChild(listItem); - bindTaskEvents(listItem,taskCompleted); -} +var taskCompleted = function () { + console.log ('Complete Task...'); + //Append the task list item to the #completed-tasks + var listItem = this.parentNode; + completedTasksHolder.appendChild (listItem); + bindTaskEvents (listItem, taskIncomplete); +}; +var taskIncomplete = function () { + console.log ('Incomplete Task...'); + //Mark task as incomplete. + //When the checkbox is unchecked + //Append the task list item to the #incompleteTasks. + var listItem = this.parentNode; + incompleteTaskHolder.appendChild (listItem); + bindTaskEvents (listItem, taskCompleted); +}; -var ajaxRequest=function(){ - console.log("AJAX Request"); -} +var ajaxRequest = function () { + console.log ('AJAX Request'); +}; //The glue to hold it all together. - //Set the click handler to the addTask function. -addButton.onclick=addTask; -addButton.addEventListener("click",addTask); -addButton.addEventListener("click",ajaxRequest); - - -var bindTaskEvents=function(taskListItem,checkBoxEventHandler){ - console.log("bind list item events"); -//select ListItems children - var checkBox=taskListItem.querySelector("input[type=checkbox]"); - var editButton=taskListItem.querySelector("button.edit"); - var deleteButton=taskListItem.querySelector("button.delete"); - - - //Bind editTask to edit button. - editButton.onclick=editTask; - //Bind deleteTask to delete button. - deleteButton.onclick=deleteTask; - //Bind taskCompleted to checkBoxEventHandler. - checkBox.onchange=checkBoxEventHandler; -} +addButton.onclick = addTask; +addButton.addEventListener ('click', addTask); +addButton.addEventListener ('click', ajaxRequest); + +var bindTaskEvents = function (taskListItem, checkBoxEventHandler) { + console.log ('bind list item events'); + //select ListItems children + var checkBox = taskListItem.querySelector ('input[type=checkbox]'); + var editButton = taskListItem.querySelector ('button.edit'); + var deleteButton = taskListItem.querySelector ('button.delete'); + + //Bind editTask to edit button. + editButton.onclick = editTask; + //Bind deleteTask to delete button. + deleteButton.onclick = deleteTask; + //Bind taskCompleted to checkBoxEventHandler. + checkBox.onchange = checkBoxEventHandler; +}; //cycle over incompleteTaskHolder ul list items //for each list item -for (var i=0; i -Todo App - - + + + Todo App + + + - -

-

Todo

-
    -
  • -
  • -

Completed

  • -
  • -
-
- + +
+

+ +

+
+ + +
+

Todo

+
    +
  • + + + + + +
  • +
  • + + + + + +
  • +
+

Completed

+
    +
  • + + + + + +
  • +
+
+ + \ No newline at end of file diff --git a/style.css b/style.css index ab36227705..d54c32704c 100644 --- a/style.css +++ b/style.css @@ -1,148 +1,171 @@ /* Basic Style */ body { - background-color: #f8f8f8; - color: #333; - font-family: Lato, sans-serif; + background-color: #f8f8f8; + color: #333; + font-family: Lato, sans-serif; } + .aaa { - width: 500px; - margin: 0 auto; - display: block; - text-align: right; + width: 500px; + margin: 0 auto; + display: block; + text-align: right; } + .aaa img { - width: 100%; + width: 100%; } + .aaa .more_inf { - font-family: fantasy, cursive; + font-family: fantasy, cursive; } @media (max-width:768px) { -.aaa { text-align: center; -} + .aaa { + text-align: center; + } } + .centered-main-page-element { - display: block; - width: 500px; - margin: 0 auto 0; + display: block; + width: 500px; + margin: 0 auto 0; } + .task { - width: 56%; - display: inline-block; - flex-grow: 1 + width: 56%; + display: inline-block; + flex-grow: 1 } + .task-row-wrapper { - display: flex; + display: flex; } + ul { - margin:0; - padding: 0px; + margin: 0; + padding: 0px; } -li, h3 { - list-style:none; + +li, +h3 { + list-style: none; } -input,button{ - outline:none; + +input, +button { + outline: none; } + button { - background: none; - border: 0px; - color: #888; - font-size: 15px; - width: 60px; - font-family: Lato, sans-serif; - cursor: pointer; + background: none; + border: 0px; + color: #888; + font-size: 15px; + width: 60px; + font-family: Lato, sans-serif; + cursor: pointer; } + button:hover { - color: #3a3A3a; + color: #3a3A3a; } + /* Heading */ h3, label[for='new-task'] { - color: #333; - font-weight: 700; - font-size: 15px; - border-bottom: 2px solid #333; - padding: 30px 0 10px; - margin: 0; - text-transform: uppercase; + color: #333; + font-weight: 700; + font-size: 15px; + border-bottom: 2px solid #333; + padding: 30px 0 10px; + margin: 0; + text-transform: uppercase; } + input[type="text"] { - margin: 0; - font-size: 18px; - line-height: 18px; - height: 21px; - padding: 0 9px; - border: 1px solid #dDd; - background: #FFF; - border-radius: 6px; - font-family: Lato, sans-serif; - color: #888; + margin: 0; + font-size: 18px; + line-height: 18px; + height: 21px; + padding: 0 9px; + border: 1px solid #dDd; + background: #FFF; + border-radius: 6px; + font-family: Lato, sans-serif; + color: #888; } + input[type="text"]:focus { - color: #333; + color: #333; } /* New Task */ label[for='new-task'] { - display: block; - margin: 0 0 20px; + display: block; + margin: 0 0 20px; } + input#new-task { - width: 318px; + width: 318px; } /* Task list */ li { - overflow: hidden; - padding: 20px 0; - border-bottom: 1px solid #eee; + overflow: hidden; + padding: 20px 0; + border-bottom: 1px solid #eee; - display: flex; - justify-content: space-between; - align-items: center; + display: flex; + justify-content: space-between; + align-items: center; } -li > * { - vertical-align: middle; + +li>* { + vertical-align: middle; } -li > input[type="checkbox"] { - margin: 0 10px; +li>input[type="checkbox"] { + margin: 0 10px; } -li > label { - padding-left: 10px; - box-sizing: border-box; - font-size: 18px; - width: 226px; + +li>label { + padding-left: 10px; + box-sizing: border-box; + font-size: 18px; + width: 226px; } -li > input[type="text"] { - width: 226px + +li>input[type="text"] { + width: 226px } + button.delete img { - height: 2em; - transform: rotateZ(45deg); - transition: transform 200ms ease-in; + height: 2em; + transform: rotateZ(45deg); + transition: transform 200ms ease-in; } + button.delete img:hover { - transform: rotateZ(0); + transform: rotateZ(0); } /* Completed */ ul#completed-tasks label { - text-decoration: line-through - color: #888; + text-decoration: line-through; + color: #888; } /* Edit Task */ ul li input[type=text] { - display:none + display: none } ul li.editMode input[type=text] { - display:inline-block; - width:224px + display: inline-block; + width: 224px } ul li.editMode label { - display:none; + display: none; } \ No newline at end of file From ae1153e409125aef0be68ede1faf0d470d41becc Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:42:56 +0500 Subject: [PATCH 2/7] refactor: update CSS html according to rule 1.2 in html-and-css.md --- index.html | 4 ++-- style.css | 54 ++++++++++++++++-------------------------------------- 2 files changed, 18 insertions(+), 40 deletions(-) diff --git a/index.html b/index.html index bffb3108fd..d221d10407 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,10 @@ - + Todo App - +
diff --git a/style.css b/style.css index d54c32704c..b8b8a834cc 100644 --- a/style.css +++ b/style.css @@ -4,59 +4,47 @@ body { color: #333; font-family: Lato, sans-serif; } - .aaa { width: 500px; margin: 0 auto; display: block; text-align: right; } - .aaa img { width: 100%; } - .aaa .more_inf { font-family: fantasy, cursive; } @media (max-width:768px) { - .aaa { + .aaa { text-align: center; } } - .centered-main-page-element { display: block; width: 500px; margin: 0 auto 0; } - .task { width: 56%; display: inline-block; flex-grow: 1 } - .task-row-wrapper { display: flex; } - ul { - margin: 0; + margin:0; padding: 0px; } - -li, -h3 { - list-style: none; +li, h3 { + list-style:none; } - -input, -button { - outline: none; +input,button{ + outline:none; } - button { background: none; border: 0px; @@ -66,11 +54,9 @@ button { font-family: Lato, sans-serif; cursor: pointer; } - button:hover { color: #3a3A3a; } - /* Heading */ h3, label[for='new-task'] { @@ -82,20 +68,18 @@ label[for='new-task'] { margin: 0; text-transform: uppercase; } - input[type="text"] { margin: 0; font-size: 18px; line-height: 18px; height: 21px; padding: 0 9px; - border: 1px solid #dDd; - background: #FFF; + border: 1px solid #ddd; + background: #fff; border-radius: 6px; font-family: Lato, sans-serif; color: #888; } - input[type="text"]:focus { color: #333; } @@ -105,7 +89,6 @@ label[for='new-task'] { display: block; margin: 0 0 20px; } - input#new-task { width: 318px; } @@ -120,32 +103,27 @@ li { justify-content: space-between; align-items: center; } - -li>* { +li > * { vertical-align: middle; } -li>input[type="checkbox"] { +li > input[type="checkbox"] { margin: 0 10px; } - -li>label { +li > label { padding-left: 10px; box-sizing: border-box; font-size: 18px; width: 226px; } - -li>input[type="text"] { +li > input[type="text"] { width: 226px } - button.delete img { height: 2em; transform: rotateZ(45deg); transition: transform 200ms ease-in; } - button.delete img:hover { transform: rotateZ(0); } @@ -158,14 +136,14 @@ ul#completed-tasks label { /* Edit Task */ ul li input[type=text] { - display: none + display:none } ul li.editMode input[type=text] { - display: inline-block; - width: 224px + display:inline-block; + width:224px } ul li.editMode label { - display: none; + display:none; } \ No newline at end of file From 7c0e91baabf7b9089c01a3ed41c00300e54dbdfe Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:45:27 +0500 Subject: [PATCH 3/7] refactor: update CSS html according to rule 1.3 in html-and-css.md --- index.html | 6 +++--- style.css | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index d221d10407..05114868f7 100644 --- a/index.html +++ b/index.html @@ -2,8 +2,8 @@ Todo App - - + + @@ -41,7 +41,7 @@

Todo

Completed

-
    +
    • diff --git a/style.css b/style.css index b8b8a834cc..3a5c6a3e6a 100644 --- a/style.css +++ b/style.css @@ -59,7 +59,7 @@ button:hover { } /* Heading */ h3, -label[for='new-task'] { +label[for="new-task"] { color: #333; font-weight: 700; font-size: 15px; @@ -85,7 +85,7 @@ input[type="text"]:focus { } /* New Task */ -label[for='new-task'] { +label[for="new-task"] { display: block; margin: 0 0 20px; } @@ -135,11 +135,11 @@ ul#completed-tasks label { } /* Edit Task */ -ul li input[type=text] { +ul li input[type="text"] { display:none } -ul li.editMode input[type=text] { +ul li.editMode input[type="text"] { display:inline-block; width:224px } From 15cb9ab51dc8b190de2a355eb8623a034d7b1074 Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:47:15 +0500 Subject: [PATCH 4/7] fix: add Html5 DOCTYPE tag according to rule 2.2 in html-and-css.md --- index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.html b/index.html index 05114868f7..ef897e0ce7 100644 --- a/index.html +++ b/index.html @@ -1,3 +1,4 @@ + From 13b7e822b1af1da94e5f1f3d3780057e237574c4 Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:48:36 +0500 Subject: [PATCH 5/7] fix: delete type attribute according to the rule 2.4 in html-and-css.md --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index ef897e0ce7..885ea89493 100644 --- a/index.html +++ b/index.html @@ -3,8 +3,8 @@ Todo App - - + + @@ -54,7 +54,7 @@

      Completed

- + \ No newline at end of file From 17cf679e3fca41d264add79818fbe6d8adcccc47 Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:49:33 +0500 Subject: [PATCH 6/7] refactor: update html according to rule 2.5 in html-and-css.md --- index.html | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 885ea89493..dede70a001 100644 --- a/index.html +++ b/index.html @@ -3,14 +3,19 @@ Todo App - +

From f979d660f009283d14d3290edb45ba4f6d77ab66 Mon Sep 17 00:00:00 2001 From: amiryusupov Date: Tue, 17 Dec 2024 02:52:05 +0500 Subject: [PATCH 7/7] refactor: update semantic and BEM according to rules in html-and-css.md --- app.js | 10 ++--- index.html | 105 ++++++++++++++++++++++++++++++----------------------- style.css | 64 +++++++++++++++++++++----------- 3 files changed, 108 insertions(+), 71 deletions(-) diff --git a/app.js b/app.js index c44ce680af..71cb96c528 100644 --- a/app.js +++ b/app.js @@ -38,9 +38,9 @@ var createNewTaskElement = function (taskString) { editInput.className = 'task'; editButton.innerText = 'Edit'; //innerText encodes special characters, HTML does not. - editButton.className = 'edit'; + editButton.className = 'todo__button--edit'; - deleteButton.className = 'delete'; + deleteButton.className = 'todo__button--delete'; deleteButtonImg.src = './remove.svg'; deleteButton.appendChild (deleteButtonImg); @@ -76,7 +76,7 @@ var editTask = function () { var editInput = listItem.querySelector ('input[type=text]'); var label = listItem.querySelector ('label'); - var editBtn = listItem.querySelector ('.edit'); + var editBtn = listItem.querySelector ('.todo__button--edit'); var containsClass = listItem.classList.contains ('editMode'); //If class of the parent is .editmode if (containsClass) { @@ -138,8 +138,8 @@ var bindTaskEvents = function (taskListItem, checkBoxEventHandler) { console.log ('bind list item events'); //select ListItems children var checkBox = taskListItem.querySelector ('input[type=checkbox]'); - var editButton = taskListItem.querySelector ('button.edit'); - var deleteButton = taskListItem.querySelector ('button.delete'); + var editButton = taskListItem.querySelector ('button.todo__button--edit'); + var deleteButton = taskListItem.querySelector ('button.todo__button--delete'); //Bind editTask to edit button. editButton.onclick = editTask; diff --git a/index.html b/index.html index dede70a001..ce59f7c786 100644 --- a/index.html +++ b/index.html @@ -7,58 +7,73 @@ href ="https://fonts.googleapis.com/css?family=Lato:300,400,700" rel="stylesheet" > - + -

-
-

- -

-
- - + +
+
+
+

+ +

+
+ + +
+
+
+

Todo

+
    +
  • + + + + + +
  • +
  • + + + + + +
  • +
+
+
+

Completed

+
    +
  • + + + + + +
  • +
+
-

Todo

-
    -
  • - - - - - -
  • -
  • - - - - - -
  • -
-

Completed

-
    -
  • - - - - - -
  • -
-
+ diff --git a/style.css b/style.css index 3a5c6a3e6a..b8c31ac4ab 100644 --- a/style.css +++ b/style.css @@ -4,47 +4,59 @@ body { color: #333; font-family: Lato, sans-serif; } -.aaa { + +.header { width: 500px; margin: 0 auto; display: block; text-align: right; } -.aaa img { + +.header img { width: 100%; } -.aaa .more_inf { + +.header .header__link { font-family: fantasy, cursive; } @media (max-width:768px) { - .aaa { + .header { text-align: center; } } -.centered-main-page-element { + +.content { display: block; width: 500px; margin: 0 auto 0; } + .task { width: 56%; display: inline-block; flex-grow: 1 } -.task-row-wrapper { + +.creater__body { display: flex; } + ul { - margin:0; + margin: 0; padding: 0px; } -li, h3 { - list-style:none; + +li, +h3 { + list-style: none; } -input,button{ - outline:none; + +input, +button { + outline: none; } + button { background: none; border: 0px; @@ -54,9 +66,11 @@ button { font-family: Lato, sans-serif; cursor: pointer; } + button:hover { color: #3a3A3a; } + /* Heading */ h3, label[for="new-task"] { @@ -68,6 +82,7 @@ label[for="new-task"] { margin: 0; text-transform: uppercase; } + input[type="text"] { margin: 0; font-size: 18px; @@ -80,6 +95,7 @@ input[type="text"] { font-family: Lato, sans-serif; color: #888; } + input[type="text"]:focus { color: #333; } @@ -89,6 +105,7 @@ label[for="new-task"] { display: block; margin: 0 0 20px; } + input#new-task { width: 318px; } @@ -103,28 +120,33 @@ li { justify-content: space-between; align-items: center; } -li > * { + +li>* { vertical-align: middle; } -li > input[type="checkbox"] { +li>input[type="checkbox"] { margin: 0 10px; } -li > label { + +li>label { padding-left: 10px; box-sizing: border-box; font-size: 18px; width: 226px; } -li > input[type="text"] { + +li>input[type="text"] { width: 226px } -button.delete img { + +button.todo__button--delete img { height: 2em; transform: rotateZ(45deg); transition: transform 200ms ease-in; } -button.delete img:hover { + +button.todo__button--delete img:hover { transform: rotateZ(0); } @@ -136,14 +158,14 @@ ul#completed-tasks label { /* Edit Task */ ul li input[type="text"] { - display:none + display: none } ul li.editMode input[type="text"] { - display:inline-block; - width:224px + display: inline-block; + width: 224px } ul li.editMode label { - display:none; + display: none; } \ No newline at end of file